Урок 1.00:07:09
S01 - L01 -- Course Breakdown
Урок 2.00:04:37
S01 - L02 -- What is DS and Algo
Урок 3.00:03:28
S01 - L03 -- Why companies ask DS
Урок 4.00:03:30
S01 - L04 -- DS in every day life
Урок 5.00:03:42
S01 - L05 -- Types of DS
Урок 6.00:11:59
S01.1-L01--What is Recursion
Урок 7.00:05:07
S01.1-L02--Why learn Recursion
Урок 8.00:04:09
S01.1-L03--Format of Recursion Method
Урок 9.00:14:41
S01.1-L04--How Recurssion works internally
Урок 10.00:08:22
S01.1-L05--Finding Factorial using Recursion
Урок 11.00:07:42
S01.1-L06--Finding Fibonacci using Recursion
Урок 12.00:03:19
S01.1-L07--Recursion vs Iteration
Урок 13.00:04:43
S01.1-L08--When to Use & Avoid Recursion
Урок 14.00:03:16
S01.1-L09--Practical Uses of Recursion
Урок 15.00:03:14
S02-L01 -- What is Algo Run Time Analysis
Урок 16.00:10:39
S02-L02 -- What are Notations
Урок 17.00:07:55
S02-L03 -- Examples of Notations
Урок 18.00:06:52
S02-L04 -- Examples of Time Complexity
Урок 19.00:08:14
S02-L05 -- Finding Time Complexity of Iterative Algo
Урок 20.00:11:10
S02-L06 -- Finding Time Complexity of Recursive Algo#1
Урок 21.00:17:48
S02-L07 -- Finding Time Complexity of Recursive Algo#2
Урок 22.00:07:02
S03 - L01 -- What and Why of Array
Урок 23.00:07:18
S03 - L02 -- Types of Array
Урок 24.00:06:01
S03 - L03 -- How is Array represented in Memory
Урок 25.00:11:26
S03 - L04 -- Create an Array
Урок 26.00:07:05
S03 - L05 -- Insert Traverse in 1D Array
Урок 27.00:16:27
S03 - L06 -- Access Search Delete in 1D Array
Урок 28.00:13:45
S03 - L07 -- Code 1D Array
Урок 29.00:04:02
S03 - L08 -- Time Complexity of 1D Array
Урок 30.00:09:14
S03 - L09 -- Create 2D Array
Урок 31.00:14:49
S03 - L10 -- 2D Array operations
Урок 32.00:02:56
S03 - L11 -- Time Complexity of 2D Array
Урок 33.00:06:17
S03 - L12 -- When to use Array
Урок 34.00:14:33
S03 - L13 -- Code 2D Array
Урок 35.00:07:31
S03 - L14 -- Practical uses of Array
Урок 36.00:08:44
S04 - L01 -- What is linked list
Урок 37.00:03:19
S04 - L02 -- Linked list vs Array
Урок 38.00:06:30
S04 - L03 -- Components of LinkedList
Урок 39.00:06:55
S04 - L04 -- Types of LinkedList
Урок 40.00:07:57
S04 - L05 -- Why so many types of LinkedList
Урок 41.00:05:06
S04 - L06 -- How is LinkedList stored in Memory
Урок 42.00:05:57
S04 - L07 -- Creation of Single LinkedList (SLL)
Урок 43.00:07:24
S04 - L08 -- Insertion in SLL - Dry Run
Урок 44.00:10:57
S04 - L09 -- Insertion in SLL - Algo
Урок 45.00:03:50
S04 - L10 -- Traversal of SLL
Урок 46.00:04:53
S04 - L11 -- Search node in SLL
Урок 47.00:09:14
S04 - L12 -- Deletion of node from SLL - Dry Run
Урок 48.00:08:48
S04 - L13 -- Deletion of node from SLL - Algo
Урок 49.00:03:15
S04 - L14 -- Delete entire SLL
Урок 50.00:03:30
S04 - L15 -- Time Complexity of SLL
Урок 51.00:04:07
S04 - L16 -- Creation of Circular Single LinkedList (CSLL)
Урок 52.00:06:16
S04 - L17 -- Insertion of data in CSLL - Dry Run
Урок 53.00:07:45
S04 - L18 -- Insertion of data in CSLL - Algo
Урок 54.00:02:31
S04 - L19 -- Traverse CSLL
Урок 55.00:04:54
S04 - L20 -- Search a node in CSLL
Урок 56.00:05:35
S04 - L21 -- Delete a node from CSLL - Dry Run
Урок 57.00:07:05
S04 - L22 -- Deletion of node from CSLL - Algo
Урок 58.00:04:02
S04 - L23 -- Deletion of entire CSLL
Урок 59.00:04:17
S04 - L24 -- Time Complexity of CSLL
Урок 60.00:05:59
S04 - L25 -- Create Double Linked List (DLL)
Урок 61.00:08:00
S04 - L26 -- Insert node in DLL - Dry Run
Урок 62.00:13:35
S04 - L27 -- Insert node in DLL - Algo
Урок 63.00:02:32
S04 - L28 -- Traverse DLL
Урок 64.00:03:21
S04 - L29 -- Reverse Traversal of DLL
Урок 65.00:03:13
S04 - L30 -- Search a node in DLL
Урок 66.00:07:21
S04 - L31 -- Delete a node from DLL - Dry Run
Урок 67.00:09:40
S04 - L32 -- Delete a node from DLL - Algo
Урок 68.00:04:47
S04 - L33 -- Delete entire DLL
Урок 69.00:04:13
S04 - L34 -- Time Complexity of DLL
Урок 70.00:07:37
S04 - L35 -- Create Double Circular LinkedList (CDLL)
Урок 71.00:11:06
S04 - L36 -- Insert node in CDLL - Dry Run
Урок 72.00:09:46
S04 - L37 -- Insert node in CDLL - Algo
Урок 73.00:03:36
S04 - L38 -- Traverse CDLL
Урок 74.00:03:28
S04 - L39 -- Reverse traverse CDLL
Урок 75.00:04:31
S04 - L40 -- Search a node in CDLL
Урок 76.00:08:45
S04 - L41 -- Delete a node from CDLL - Dry Run
Урок 77.00:10:38
S04 - L42 -- Delete a node from CDLL - Algo
Урок 78.00:06:29
S04 - L43 -- Delete entire CDLL
Урок 79.00:04:27
S04 - L44 -- Time Complexity of CDLL
Урок 80.00:06:43
S04 - L45 -- SLL vs CSLL vs DLL vs DLL
Урок 81.00:05:10
S04 - L46 -- Practical uses of LinkedList
Урок 82.00:04:55
L01 -- What and Why of Stack
Урок 83.00:06:19
L02 -- ARRAY - Create & Push
Урок 84.00:07:52
L03 -- ARRAY - Pop, Peek, isEmpty, isFull, Delete
Урок 85.00:06:36
L04 -- LinkedList - Create, Push, Pop
Урок 86.00:05:06
L05 -- LinkedList - Peek, Delete
Урок 87.00:03:36
L06 -- When to use or avoid Stack
Урок 88.00:03:53
S06 - L01 -- What and Why of Queue
Урок 89.00:06:59
S06 - L02 -- LINEAR QUEUE(Array) - Create, Enqueue
Урок 90.00:07:23
S06 - L03 -- LINEAR QUEUE((Array)) - deQueue, isEmpty, isFull, Delete
Урок 91.00:04:45
S06 - L04 -- Why Circular Queue
Урок 92.00:05:57
S06 - L05 -- CIRCULAR QUEUE(Array) - Enqueue
Урок 93.00:03:19
S06 - L06 -- CIRCULAR QUEUE(Array) - Dequeue
Урок 94.00:05:22
S06 - L07 -- CIRCULAR QUEUE(Array) - Peek, isEmpty, isFull, Delete
Урок 95.00:05:31
S06 - L08 -- LINEAR QUEUE(LL) - Enqueue
Урок 96.00:03:11
S06 - L09 -- LINEAR QUEUE(LL) - DeQueue
Урок 97.00:04:04
S06 - L10 -- LINEAR QUEUE(LL) - Peek, isEmpty, Delete
Урок 98.00:04:29
S06 - L11 -- Array vs LinkedList Implementation
Урок 99.00:09:30
S08.01 - L01 -- What is Tree
Урок 100.00:02:08
S08.01 - L02 -- Why learn Tree
Урок 101.00:10:01
S08.01 - L03 -- Tree Terminologies - Part#1
Урок 102.00:04:29
S08.01 - L03 -- Tree Terminologies - Part#2
Урок 103.00:04:15
S08.01 - L04 -- What & Why of Binary Ttree
Урок 104.00:05:29
S08.01 - L05 -- Types of Binary Tree
Урок 105.00:08:54
S08.01 - L06 -- How is Tree Represented in Code
Урок 106.00:03:17
S08.01 - L07 -- Create blank Binary Tree(LL)
Урок 107.00:14:45
S08.01 - L08 -- Pre-order traversal Binary Tree(LL)
Урок 108.00:06:18
S08.01 - L09 -- In-order traversal Binary Tree(LL)
Урок 109.00:06:33
S08.01 - L10 -- Post-order traversal Binary Tree(LL)
Урок 110.00:07:26
S08.01 - L11 -- Level-order traversal Binary Tree(LL)
Урок 111.00:08:10
S08.01 - L12 -- Search for value in Binary Tree(LL)
Урок 112.00:05:54
S08.01 - L13 -- Insert value in Binary Tree(LL)
Урок 113.00:06:55
S08.01 - L14 -- Delete value from Binary Tree(LL)
Урок 114.00:03:59
S08.01 - L15 -- Delete Binary Tree(LL)
Урок 115.00:05:14
S08.01 - L16 -- Create Binary Tree(Array)
Урок 116.00:05:55
S08.01 - L17 -- Insert value in Binary Tree(Array)
Урок 117.00:03:39
S08.01 - L18 -- Search for value in Binary Tree(Array)
Урок 118.00:06:18
S08.01 - L19 -- Inorder traversal of Binary Tree(Array)
Урок 119.00:03:48
S08.01 - L20 -- Pre-order traversal of Binary Tree(Array)
Урок 120.00:04:18
S08.01 - L21 -- Post-order traversal of Binary Tree(Array)
Урок 121.00:02:46
S08.01 - L22 -- Level-order traversal of Binary Tree(Array)
Урок 122.00:05:34
S08.01 - L23 -- Delete node from Binary Tree(Array)
Урок 123.00:03:26
S08.01 - L24 -- Delete Binary Tree(Array)
Урок 124.00:04:44
S08.01 - L25 -- Binary Tree (Array vs Linked List)
Урок 125.00:04:45
S08.02 - L01 -- What & Why of BST
Урок 126.00:10:00
S08.02 - L02 -- Creation & Searching in BST
Урок 127.00:07:37
S08.02 - L03 -- Traversing a BST
Урок 128.00:13:58
S08.02 - L04 -- Inserting a node in BST
Урок 129.00:15:55
S08.02 - L05 -- Deleting a node from BST
Урок 130.00:03:43
S08.02 - L06 -- Deleting a BST
Урок 131.00:06:49
S08.03 - L01 -- Why learn AVL Tree
Урок 132.00:10:21
S08.03 - L02 -- What is AVL Tree
Урок 133.00:06:28
S08.03 - L03 -- Create Search Traverse AVL Tree
Урок 134.00:12:02
S08.03 - L04 -- Insert in AVL_LL Theory
Урок 135.00:04:48
S08.03 - L05 -- Insert in AVL_LL Algorithm
Урок 136.00:08:13
S08.03 - L06 -- Insert in AVL LR
Урок 137.00:08:24
S08.03 - L07 -- Insert in AVL RR
Урок 138.00:06:23
S08.03 - L08 -- Insert in AVL RL
Урок 139.00:14:20
S08.03 - L09 -- Insert End to End Case
Урок 140.00:11:27
S08.03 - L10 -- Delete LL LR RR RL
Урок 141.00:11:57
S08.03 - L11 -- Delete End to End Case
Урок 142.00:07:37
S08.03 - L12 -- Delete AVL Tree & Tree Comparison
Урок 143.00:12:27
S08.04 - L01 -- What Why and Type of Heap
Урок 144.00:04:45
S08.04 - L02 -- Create, Peek, Size of Heap
Урок 145.00:05:12
S08.04 - L03 -- Insert element in Heap
Урок 146.00:06:04
S08.04 - L04 -- Extract and Delete from Heap
Урок 147.00:03:50
S08.04 - L05 -- Why avoid Reference based implementation ?
Урок 148.00:05:57
S08.05 - L01 -- What and Why of Trie
Урок 149.00:06:53
S08.05 - L02 -- Create Insert in Trie
Урок 150.00:02:36
S08.05 - L03 -- Search a String in Trie
Урок 151.00:07:38
S08.05 - L04 -- Delete a String from Trie
Урок 152.00:02:33
S08.05 - L05 -- Practical Uses of Trie
Урок 153.00:03:39
S09 - L01 -- Introduction to Hashing
Урок 154.00:05:13
S09 - L02 -- Why learn Hashing ?
Урок 155.00:08:53
S09 - L03 -- Introduction to Hash Functions
Урок 156.00:14:55
S09 - L04 -- Types of Collision Resolution Techniques
Урок 157.00:04:31
S09 - L05 -- What happens when Hash Table is full ?
Урок 158.00:08:27
S09 - L06 -- Collision Resolution Techniques Compared
Урок 159.00:06:41
S09 - L07 -- Practical Use of Hashing
Урок 160.00:04:37
S09 - L08 -- Hashing vs Other DS
Урок 161.00:03:55
S10 - L01 -- What and Why of Sorting
Урок 162.00:07:15
S10 - L02 -- Types of Sorting Techniques
Урок 163.00:05:02
S10 - L03 -- Sorting Terminologies
Урок 164.00:07:47
S10 - L04 -- Bubble Sort
Урок 165.00:06:08
S10 - L05 -- Selection Sort
Урок 166.00:08:52
S10 - L06 -- Insertion Sort
Урок 167.00:08:35
S10 - L07 -- Bucket Sort
Урок 168.00:11:12
S10 - L08 -- Merge Sort
Урок 169.00:12:37
S10 - L09 -- Quick Sort Part#1
Урок 170.00:06:01
S10 - L09 -- Quick Sort Part#2
Урок 171.00:12:42
S10 - L10 -- HeapSort
Урок 172.00:02:15
S10 - L11 -- Sorting Techniques compared
Урок 173.00:08:57
S11 - L01 -- What and Why of Graphs
Урок 174.00:05:12
S11 - L02 -- Graph Terminologies
Урок 175.00:04:00
S11 - L03 -- Types of Graphs
Урок 176.00:07:09
S11 - L04 -- Graph Representation in Code
Урок 177.00:08:30
S11 - L05 -- BFS Algorithm
Урок 178.00:06:34
S11 - L06 -- BFS Time Complexity
Урок 179.00:08:08
S11 - L07 -- DFS Algorithm
Урок 180.00:05:59
S11 - L08 -- DFS Time Complexity
Урок 181.00:04:27
S11 - L09 -- BFS vs DFS
Урок 182.00:03:45
S11 - L10 -- What is Topological Sort
Урок 183.00:06:33
S11 - L11 -- Topological Sort Dry Run
Урок 184.00:07:12
S11 - L12 -- Why Topological Sort Works
Урок 185.00:06:39
S11 - L13 -- Topological Sort Algorithm
Урок 186.00:06:30
S11 - L14 -- What is Single Source Shortest Path Problem(SSSP)
Урок 187.00:08:08
S11 - L15 -- BFS for SSSP
Урок 188.00:04:04
S11 - L16 -- Why BFS does not works for Weighted Graph SSSP
Урок 189.00:03:02
S11 - L17 -- Why DFS does not works for SSSP
Урок 190.00:11:17
S11 - L18 -- Dijkstra for SSSP
Урок 191.00:06:07
S11 - L19 -- Why Dijkstra does not work for Negative Cycle
Урок 192.00:09:48
S11 - L20 -- BellmanFord Dry run for SSSP
Урок 193.00:04:28
S11 - L21 -- BellanFord Algorithm for SSSP
Урок 194.00:09:09
S11 - L22 -- How Bellman Ford works for Negative Cycle
Урок 195.00:10:09
S11 - L23 -- Why BellmanFord runs for V-1 times
Урок 196.00:04:33
S11 - L24 -- BFS vs Dijkstra vs BellmanFord
Урок 197.00:05:35
S11 - L25 -- What is All Pair Shortest Path Problem(APSP)
Урок 198.00:05:18
S11 - L26 -- Dry run of BFS Dijkstra Bellman for APSP
Урок 199.00:10:09
S11 - L27 -- Floyd Warshall Algorithm for APSP
Урок 200.00:08:13
S11 - L28 -- Why Floyd Warshall Algorithm always works
Урок 201.00:03:50
S11 - L29 -- Why Floyd does not works for Negative Cycle
Урок 202.00:04:25
S11 - L30 -- BFS vs Dijkstra vs Bellman vs Floys
Урок 203.00:04:39
S11 - L31 -- What is Minimum Spanning Tree (MST)
Урок 204.00:08:49
S11 - L32.1 -- DisjointSet
Урок 205.00:12:40
S11 - L32.2 -- Kruskals Algorithm
Урок 206.00:06:34
S11 - L33 -- Prims Algorithm Dry Run
Урок 207.00:05:23
S11 - L34 -- Prims Algorithm Explained
Урок 208.00:02:34
S11 - L35 -- Prims vs Kruskal
Урок 209.00:04:46
S12.1 - L01 -- Magic Framework
Урок 210.00:06:18
S12.2 - L01 -- Greedy Algo Introduction
Урок 211.00:10:51
S12.2 - L02 -- Known Algos
Урок 212.00:08:05
S12.2 - L03 -- Activity Selection Problem
Урок 213.00:09:07
S12.2 - L04 -- Coin Change Problem
Урок 214.00:11:56
S12.2 - L05 -- Fractional Knapsack Problem
Урок 215.00:07:35
S12.3 - L01 -- What and Why of Divide&Conquer
Урок 216.00:05:48
S12.3 - L02 -- Binary Search, Quick, Merge Sortt
Урок 217.00:03:32
S12.3 - L03 -- Fibonacci Series
Урок 218.00:09:38
S12.3 - L04 -- Number Factor
Урок 219.00:08:49
S12.3 - L05 -- House thief
Урок 220.00:12:58
S12.3 - L06 -- Convert One String to Another
Урок 221.00:07:49
S12.3 - L07 -- Zero-One Knapsack
Урок 222.00:08:52
S12.3 - L08 -- Longest Common Subsequence
Урок 223.00:09:47
S12.3 - L09 -- Longest Palindromic Subsequence
Урок 224.00:09:11
S12.3 - L10 -- Longest Palindromic Substring
Урок 225.00:07:13
S12.3 - L11 -- Min Cost to Reach End of Array
Урок 226.00:10:30
S12.3 - L12 -- Number of Paths to reach last cell with given Cost
Урок 227.00:04:46
S12.4 - L01 -- What and Why of Dynamic Programming
Урок 228.00:06:41
S12.4 - L02 -- Top Down Approach
Урок 229.00:07:45
S12.4 - L03 -- Bottom Up Approach
Урок 230.00:03:57
S12.4 - L04 -- Is Merge Sort Dynamic Programming ?
Урок 231.00:15:26
S12.4 - L05 -- Number Factor Problem
Урок 232.00:12:15
S12.4 - L06 -- HouseThief Problem
Урок 233.00:11:20
S12.4 - L07 -- Convert One String to Another
Урок 234.00:13:16
S12.4 - L08 -- Zero One Knapsack Problem
Урок 235.00:10:20
S12.4 - L09 -- Longest Common Subsequence
Урок 236.00:10:53
S12.4 - L10 -- Longest Palindromic Subsequence
Урок 237.00:12:34
S12.4 - L11 -- Longest Palindromic Substring
Урок 238.00:12:35
S12.4 - L12 -- Min Cost to Reach End of Array
Урок 239.00:24:53
S12.4 - L13 -- Ways to Reach last cell