My DSA learning, organized by topics and charts with link to corresponding posts
still in progress…
1. Sorting
graph TD
Sorting --> ElementarySort[Elementary Sort]
Sorting --> MergeSort[Merge Sort]
Sorting --> QuickSort[Quick Sort]
Sorting --> HeapSort["Heap Sort
Priority Queue"] ElementarySort --> SelectionSort[Selection Sort] ElementarySort --> InsertionSort[Insertion Sort] ElementarySort --> ShellSort[Shell Sort] MergeSort --> BottomUpMergeSort[Bottom Up Merge Sort]
Priority Queue"] ElementarySort --> SelectionSort[Selection Sort] ElementarySort --> InsertionSort[Insertion Sort] ElementarySort --> ShellSort[Shell Sort] MergeSort --> BottomUpMergeSort[Bottom Up Merge Sort]
Elementary Sort
- Elementary Sorts Summary, including
- Selection Sort
- Insertion Sort
- Shell Sort
- Shuffling - TBA
- Convex Hull - TBA
Merge Sort
- Merge Sort Summary, including
- Merge Sort basic
- Bottom up Merge Sort
- Merge Sort Related Questions, including
- Merging with smaller auxiliary array
- Counting inversions
- Merge Sort and the Interview
Quick Sort
- Quick Sort summary - Part 1 - Basic Implementation
- Quick Sort summary - Part 2 - Selection Problem
- Quick Sort summary - Part 3 - 3-way Partitioning
- Quick Sort summary - Part 4 - Related Questions - Still in my draft folder
Heap Sort
- Binary Heap and Heapsort Summary - Part 1 - Binary Heap
- Binary Heap and Heapsort Summary - Part 2 - Heapsort
- Priority Queues - Related Questions
2. Data Structure
Symbol Table
graph TD
SymbolTable[Symbol Table]
SymbolTable --> BST[Binary Search Tree - BST]
SymbolTable --> TwoThree[2-3 Search Trees]
TwoThree --> RedBlack[Red-Black BST]
BST --> RedBlack
TwoThree --> BTrees[B-Trees]
Others
3. Other DSA topics
Dynamic Connectivity & Union Find
4. Exercises by topics
General
Stack
- Longest Valid Parentheses solution - Still in draft folder, the solution there is outdated
2 pointers
- Two Sum with Sorted array problem - in draft folder
- 3-sum problem