Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Data Structures and Algorithms In C#
About Course
Data Structures and Algorithms in C# (1:35)
Source Code Repository
Introduction to Data Structures and Algorithms
Data Structures and Algorithms (4:20)
Measuring Running time of Algorithms (3:07)
Asymptotic Analysis (3:14)
Big O Notation (3:40)
Finding Big O (4:24)
Tight and Loose Upper Bounds (1:29)
Big O analysis of Algorithms (2:05)
Finding Time complexity (2:57)
Big O analysis of Algorithms: Examples (7:00)
Worst case, Best case and Average Case Analysis (3:49)
Common Complexities (3:03)
Abstract Data Types (5:05)
Linked List
Introduction (4:12)
Traversing and Searching a Single Linked List (5:31)
Finding references in a single linked list (5:22)
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 Arithmetc Expressions (3:22)
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
Intoduction 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:49)
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:21)
Deletion (8:05)
Building a heap (4:33)
Heap Applications (1:06)
Sorting
Introduction (5:02)
Sort Stability (2:25)
Selection Sort (1:49)
Selection Sort : Example (1:18)
Analysis of Selection Sort (2:20)
Bubble Sort (2:24)
Bubble Sort : Example (2:11)
Improvement in Bubble Sort (2:16)
Analysis of Bubble Sort (2:04)
Insertion Sort (2:37)
Insertion Sort : Example (2:22)
Analysis of Insertion sort (4:40)
Shell Sort (2:24)
Shell Sort : Example (2:07)
Analysis of Shell Sort (3:29)
Quick Sort (6:56)
Analysis of Quick Sort (3:00)
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 Addresssing : Quadratic Probing (7:40)
Open Addresssing : 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)
Bonus Section
Bonus Lecture
Teach online with
Doubly linked list
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock