All tracksStart DSA
Vol. II
Data Structures & Algorithms in C++
Complexity through graphs, DP, and tries — interactive lessons with live C++ on every page.
0 of 215 activities0%
1. Complexity
2. Arrays & Hashing
3. Linked Lists
- Singly linked listsNodes with data and a next pointer. · 0/5
- Insert and deleteUpdate pointers carefully at head and middle. · 0/5
- Doubly linked listsEach node links to both next and prev. · 0/5
- Circular linked listsThe last node points back to the first. · 0/5
- Classic list algorithmsReverse, find middle, detect a cycle. · 0/5
4. Stacks & Queues
- StacksLIFO structure: push, pop, peek. · 0/5
- Stack applicationsNext greater element and evaluate with stacks. · 0/5
- QueuesFIFO structure: enqueue and dequeue. · 0/5
- Deques and circular queuesInsert/remove at both ends; reuse a ring buffer. · 0/5
- Priority queues and heaps introAlways extract the best element next. · 0/5
5. Recursion
6. Searching
7. Sorting
- Bubble, selection, insertionSimple O(n^2) sorts you should recognize. · 0/5
- Merge sortDivide, sort halves, merge — O(n log n). · 0/5
- Quick sortPartition around a pivot — fast average case. · 0/5
- Heap sortBuild a heap, then repeatedly extract max. · 0/5
- Sorting complexity cheat sheetCompare algorithms by time, space, stability. · 0/5
8. Trees
- Binary treesNodes with left and right children. · 0/5
- Tree traversalsPreorder, inorder, postorder, and level order. · 0/5
- Binary search treesLeft < node < right for every subtree. · 0/5
- BST operationsInsert, delete, min/max, successor ideas. · 0/5
- Balanced trees overviewAVL, Red-Black — keep height logarithmic. · 0/5
9. Heaps
10. Graphs
- Graph representationAdjacency list vs matrix. · 0/5
- BFS traversalExplore layer by layer with a queue. · 0/5
- DFS traversalGo deep with recursion or an explicit stack. · 0/5
- Topological sortOrder vertices in a DAG so edges go forward. · 0/5
- Shortest pathsBFS for unweighted; Dijkstra for nonnegative weights. · 0/5