Loading...
Loading...
Section 06 · Stage 2: Master DSA
Linked lists to graphs and dynamic programming, built and used in Python.
Build, traverse, insert, delete, reverse and merge linked lists, find a middle or a cycle, and solve the classic interview problems.
Stacks with a list, bracket matching and expression evaluation, monotonic stacks, deque queues, and design problems.
Build a hash map from buckets, handle collisions, understand resizing and dict and set, and design an LRU cache.
The simple sorts, merge sort, quick sort and quickselect, counting and bucket sort, and which one to choose in Python.
Tree terms and input, the three traversals, level order, height, diameter and balance, paths and lowest common ancestor.
Search, insert, delete and validate a BST, answer kth smallest, floor, ceiling and range queries, and know when to use bisect.
Build a heap by hand, keep the best k and a running median, then store and search words with a trie.
Adjacency lists, BFS and DFS, shortest paths by edges, components, grid islands and cycles.
Topological sort, Union-Find, Dijkstra, Bellman-Ford, Floyd-Warshall, Kruskal and Prim.
Greedy choices and counterexamples, activity selection, job sequencing, merging intervals, meeting rooms and reach problems.
Turn slow recursion into memoization and tables: stairs, house robber, coin change, LIS, word break and decode ways.
Fill grids and tables for paths, knapsack, strings, intervals and bitmasks.