This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Data Structures and Algorithms (DSA) Masterclass C#
About Course
Data Structures and Algorithms In C# (1:35)
Source Code Repository
Algorithm Analysis
Data Structures and Algorithms (2:54)
Measuring Running time of Algorithms (2:19)
Asymptotic Analysis (2:46)
Big O Notation (4:06)
Finding Big O (5:21)
Tight and Loose Upper Bounds (1:30)
Big O analysis of Algorithms (2:00)
Finding Time complexity (3:16)
Big O analysis of Algorithms: Examples (11:24)
Worst case, Best case and Average Case Analysis (3:47)
Common Complexities (3:00)
Abstract Data Types (3:49)
Linked List
Introduction to Linked List in C# (4:12)
Traversing and searching a Single Linked List (6:05)
Finding references in a Single Linked List (5:22)
Difference between while(p!=NULL) and while(p.link!=NULL)
Insertion in a Single Linked List (4:26)
Insertion in a Single Linked List ... contd (7:05)
Deletion in a Single Linked List (3:46)
Reversing a Single Linked List (2:45)
Sorting a Linked list using Bubble Sort (7:35)
Merging of sorted Linked lists (11:51)
Sorting a Linked list using Merge Sort (5:02)
Finding and Removing a cycle in a Linked list (10:44)
Doubly Linked List (3:17)
Insertion in a Doubly Linked List (6:15)
Deletion from Doubly Linked List (5:12)
Reversing a Doubly Linked List (2:49)
Circular Linked List (2:59)
Insertion in a Circular Linked List (3:58)
Deletion in a Circular Linked List (3:40)
Concatenation (3:22)
Linked List with Header Node (4:48)
Sorted Linked List (5:27)
Stack and Queue
Introduction (2:09)
Stack (1:29)
Array Implementation of Stack (5:18)
Linked List Implementation of Stack (4:29)
Queue (1:13)
Array Implementation of Queue (6:56)
Linked List implementation of Queue (4:32)
Queue through Circular Linked List (3:19)
Circular Queue (9:29)
Deque (7:44)
Priority Queue (3:13)
Checking validity of an expression containing nested parentheses (6:19)
Evaluating Arithmetic Expressions (3:21)
Polish Notations (5:56)
Converting infix expression to postfix expression (11:01)
Evaluation of postfix expression (3:38)
Recursion
Introduction (2:43)
Flow of control in Recursive functions (2:10)
Winding and unwinding phase (1:17)
Factorial (2:42)
Printing numbers from 1 to n (2:25)
Sum of digits of an integer (3:36)
Base conversion (2:13)
Finding nth power of a number (1:55)
Euclids Algorithm (3:12)
Fibonacci Series (2:41)
Tower of Hanoi (6:55)
Tail recursion (1:50)
Recursion vs. Iteration (1:26)
Binary Tree
Introduction to trees (6:01)
Binary Tree (6:48)
Strictly Binary Tree and Extended Binary Tree (5:15)
Full binary tree and Complete Binary Tree (4:58)
Array Representation of Binary trees (3:26)
Linked Representation of Binary Trees (1:18)
Binary Tree in C# (2:12)
Traversal in Binary Tree (2:06)
Preorder Traversal (5:10)
Inorder Traversal (4:55)
Postorder Traversal (4:35)
Level order traversal (3:17)
Finding height of a Binary tree (3:00)
Constructing Binary tree from Traversals (1:35)
Constructing binary tree from inorder and preorder traversals (4:23)
Constructing binary tree from inorder and postorder traversals (3:48)
Binary Search Tree
Introduction (4:42)
Traversal in Binary Search Tree (1:54)
Searching in a Binary Search Tree (6:24)
Nodes with Minimum and Maximum key (2:58)
Insertion in a Binary Search Tree (7:38)
Deletion in a Binary Search Tree (12:30)
Heap
Introduction (2:40)
Heap Representation (2:12)
Insertion in Heap (7:24)
Deletion (8:05)
Building a heap (4:33)
Heap Applications (1:05)
Sorting
Introduction to Sorting Algorithms (5:02)
Sort Stability (2:25)
Selection Sort (1:49)
Selection Sort : Example (1:18)
Selection Sort in C# (2:58)
Analysis of Selection Sort (2:20)
Bubble Sort (2:24)
Bubble Sort : Example (2:11)
Bubble Sort in C# (4:37)
Improvement in Bubble Sort (2:15)
Analysis of Bubble Sort (2:04)
Insertion Sort (2:37)
Insertion Sort : Example (2:22)
Insertion Sort in C# (3:52)
Analysis of Insertion sort (4:40)
Shell Sort (2:23)
Shell Sort : Example (2:07)
Shell Sort in C# (3:48)
Analysis of Shell Sort (3:29)
Merging two Sorted Arrays (6:53)
Recursive Merge Sort (2:29)
Recursive Merge Sort in C# (4:11)
Analysis of Merge Sort (0:36)
Iterative Merge Sort (1:31)
Iterative Merge Sort in C# (3:11)
Quick Sort (6:56)
Quick Sort in C# (7:23)
Analysis of Quick Sort (3:00)
Binary tree sort (3:05)
Binary Tree Sort in C# (1:51)
Analysis of Binary Tree Sort (1:14)
Heap Sort (7:02)
Heap Sort : C# implementation and Analysis (2:11)
Radix Sort (4:17)
Radix Sort : C# implementation and Analysis (6:18)
Address Calculation Sort (4:50)
Address Calculation Sort in C# (2:35)
Analysis of Address Calculation Sort (1:02)
Searching
Linear Search (5:16)
Variations of Linear Search (7:10)
Binary Search (6:04)
Implementation of Binary Search (14:19)
Analysis of Binary Search (2:55)
Hashing
Direct Addressing (4:17)
Hashing (6:26)
Collisions (2:10)
Hash Functions (9:13)
Open Addressing : Linear Probing (10:48)
Open Addressing : Quadratic Probing (7:40)
Open Addressing : Double Hashing (9:21)
Deletion in Open Addressed Tables (6:15)
Implementation of Open Addressing (8:24)
Separate Chaining (6:54)
Implementation of Separate Chaining (4:39)
AVL Tree
Introduction (7:13)
Rotations (7:11)
Insertion in AVL Tree - 1 (10:42)
Insertion in AVL Tree - 2 (9:08)
Insertion in AVL Tree - 3 (14:13)
Insertion in AVL Tree - 4 (4:39)
Examples of insertion in AVL Tree (7:06)
Deletion in AVL Tree - 1 (5:16)
Deletion in AVL Tree - 2 (10:36)
Deletion in AVL Tree - 3 (5:56)
Examples of deletion in AVL Tree (7:38)
Threaded Binary Tree
Introduction (12:31)
Insertion (5:12)
Deletion (7:38)
Expression Tree
Introduction (3:27)
Constructing and Evaluating an Expression Tree (5:49)
Implementation of Expression Tree (4:40)
B Tree
Introduction (11:25)
Inorder Traversal (5:42)
Searching (8:57)
Insertion (14:20)
Implementation of Insertion - 1 (18:32)
Implementation of Insertion - 2 (7:02)
Deletion (3:47)
Examples of Deletion from Leaf Node (9:31)
Examples of Deletion from Non-Leaf Node (3:31)
Implementation of Deletion (12:38)
Graph
Introduction (3:25)
Terminology (9:09)
Cycles (3:13)
Connectivity in Undirected Graph (5:50)
Connectivity in Directed Graphs (3:23)
Tree and Forest (3:16)
Representation of Graph : Adjacency Matrix (5:36)
Adjacency Matrix in C# (13:02)
Representation of Graph : Adjacency List (5:51)
Adjacency List in C# (10:44)
Transitive closure of a directed graph and Path Matrix (9:50)
Warshall’s Algorithm (10:18)
Warshall’s Algorithm in C# (2:00)
Traversal In Graph
Introduction (2:42)
Breadth First Search (5:05)
Implementation of Breadth First Search (6:56)
Finding Shortest path in an unweighted graph (7:55)
BFS Spanning Tree (2:39)
BFS in Undirected Graphs : Finding Connected Components (7:09)
Depth First Search (3:41)
Implementation of Depth First Search through Stack (7:00)
Recursive Implementation of Depth First Search (5:59)
Classification of Edges in DFS of Directed Graph (6:59)
Classification of Edges in DFS of Undirected Graph (4:47)
Shortest Paths In Graph
Shortest Path problem (2:25)
Dijkstra's Algorithm (9:04)
Dijkstra's Algorithm : Example (8:29)
Dijkstra's Algorithm in C# (4:35)
Minimum Spanning Tree of a Graph
Introduction (1:31)
Prim's Algorithm (3:38)
Prim's Algorithm : Example (6:10)
Prim's Algorithm in C# (3:54)
Kruskal's Algorithm (2:33)
Kruskal's Algorithm : Example (3:48)
Implementation of Kruskal's Algorithm (10:29)
Kruskal's Algorithm in C# (4:21)
Sorting a Linked list using Bubble Sort
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock