CS 240: Data Structures and Data Management
https://student.cs.uwaterloo.ca/~cs240/s23/
Link to course notes here.
Concepts
Module 1: Introduction and Asymptotic Analysis
- Big O
- Asymptotic Analysis
- Merge Sort Module 2: Priority Queue
- Heap Module 3: Sorting, Average-case and Randomization
- Quickselect
- Quicksort
- Bucket Sort
- Radix Sort Module 4: Dictionaries
- AVL Tree
- Binary Search Tree
- Tree Rotation Module 5: Other Dictionary Implementations
- Skip List Module 6: Dictionaries for special keys
- Interpolation Search
- Trie
- Compressed Trie Module 7: Dictionaries via Hashing
- Dictionary
- Hashing
- Uniform Hashing Assumption Module 8: Range-Searching in Dictionaries for Points
- Range Tree Module 9: String Matching
- Karp-Rabin Algorithm
- Boyer-Moore Algorithm
- Knuth-Morris-Pratt Algorithm
- Suffix Tree
- Suffix Array