Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Data Structures and Algorithms In Python
About Course
Data Structures and Algorithms in Python (1:35)
Source Code Repository
Introduction to Data Structures and Algorithms
Data Structures and Algorithms (4:20)
Measuring Running time of Algorithms (3:06)
Asymptotic Analysis (3:13)
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 (3:26)
Big O analysis of Algorithms: Examples (7:27)
Worst case, Best case and Average Case Analysis (4:17)
Common Complexities (3:03)
Abstract Data Types (5:05)
Linked List
Introduction (11:35)
Traversing and Searching a Single Linked List (7:35)
Finding references in a single linked list (6:24)
Insertion in a Single Linked List (5:47)
Insertion in a Single Linked List ..contd (7:36)
Deletion in a Single Linked List (4:22)
Reversing a Single Linked List (2:49)
Sorting a Linked list using Bubble Sort (9:22)
Merging of sorted Linked lists (13:19)
Sorting a Linked list using Merge Sort (5:08)
Finding and Removing a cycle in a Linked list (12:27)
Doubly linked list (3:30)
Insertion in a doubly linked List (7:32)
Deletion from doubly linked list (6:20)
Reversing a doubly linked list (3:30)
Circular linked list (3:09)
Insertion in a circular Linked List (4:39)
Deletion in a circular linked list (4:13)
Concatenation (4:15)
Linked List with Header Node (5:03)
Sorted linked list (5:57)
Stack and Queue
Introduction (2:09)
Stack (1:29)
Array Implementation of Stack (12:12)
Linked List Implementation of Stack (5:41)
Queue (1:13)
Array Implementation of Queue (9:51)
Circular Queue (15:14)
Linked List implementation of Queue (5:15)
Queue through Circular Linked List (3:56)
Deque (8:56)
Priority Queue (3:08)
Checking validity of an expression containing nested parentheses (6:13)
Evaluating Arithmetic Expressions (3:21)
Polish Notations (5:56)
Converting infix expression to postfix expression (11:37)
Evaluation of postfix expression (3:25)
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:35)
Linked Representation of Binary Trees (1:25)
Binary Tree in Python (2:13)
Traversal in Binary Tree (2:06)
Preorder Traversal (5:39)
Inorder Traversal (5:36)
Postorder Traversal (5:02)
Level order traversal (3:30)
Finding height of a Binary tree (3:01)
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:52)
Traversal in Binary Search Tree (1:54)
Searching in a Binary Search Tree (7:49)
Nodes with Minimum and Maximum key (3:19)
Insertion in a Binary Search Tree (8:56)
Deletion in a Binary Search Tree (13:55)
Heap
Introduction (2:40)
Heap Representation (2:12)
Insertion in Heap (7:17)
Deletion (8:17)
Building a Heap (4:34)
Heap Applications (1:05)
Sorting
Introduction (5:02)
Sort Stability (2:25)
Selection Sort (1:49)
Selection Sort : Example (1:18)
Selection Sort in Python (3:25)
Analysis of Selection Sort (2:20)
Bubble Sort (2:24)
Bubble Sort : Example (2:11)
Bubble Sort in Python (4:56)
Improvement in Bubble Sort (2:16)
Analysis of Bubble Sort (2:04)
Insertion Sort (2:37)
Insertion Sort : Example (2:22)
Insertion Sort in Python (3:43)
Analysis of Insertion sort (4:48)
Shell Sort (2:23)
Shell Sort : Example (2:07)
Shell Sort in Python (3:41)
Analysis of Shell Sort (3:29)
Merging (6:58)
Recursive Merge Sort (2:29)
Recursive Merge Sort in Python (3:53)
Analysis of Merge Sort (0:36)
Iterative Merge Sort (1:31)
Iterative Merge Sort in Python (3:17)
Quick Sort (6:56)
Quick Sort in Python (7:24)
Analysis of Quick Sort (3:00)
Binary tree sort (3:05)
Binary Tree Sort in Python (1:04)
Analysis of Binary Tree Sort (1:14)
Heap Sort (7:02)
Heap Sort : Python Implementation and Analysis (2:02)
Radix Sort (4:17)
Radix Sort : Python Implementation and Analysis (6:11)
Searching
Linear Search (4:53)
Linear Search in Sorted List (2:46)
Binary Search (6:04)
Implementation of Binary Search (13:07)
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:44)
Separate Chaining (6:54)
Implementation of Separate Chaining (3:53)
Bonus Section
Bonus Lecture
Teach online with
Binary Tree in Python
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock