1. Fundamentals
- Basic Programming
- Data Abstraction
- Bags, Queues and Stacks
- Analysis of algorithms
- Running Time
- Computational experiments
- Tilde notation
- Order-ofgrowth classifications
- Amortized analysis
- Memory Usage
- Case Study: Union-Find
- Dinaymic Connectivity
- Quick find
- Quick union
- Weighted quick union
- Amortized analysis
- Memory Usage
2. Sorting
- Elementary Sorts
- Rules of the game
- Selection sort
- Insertion sort
- Shellsort
- Mergesort
- Abstract in-place merge
- Top-down mergesort
- Bottom-up mergesort
- N lg N bound for sorting
- Quicksort
- In-place partitioning
- Randomized quicksort
- 3-way partitioning
- Priority Queues
- Priority queue API
- Elementary implementations
- Binary heap
- Heapsort
- Applications
- Comparators
- Stability
- Median and order statistics
3. Searching
- Symbol tables
- Symbol table API
- Ordered Symbol table API
- Dedup
- Frequency counter
- Sequential search
- Binary search
- Binary Search Trees
- Basic implementation
- Order-based methods
- Deletion
- Balanced Search Trees
- 2-3 search trees
- Red-black BSTs
- Deletion
- Hash Tables
- Hash functions
- Separate chaining
- Linear probing
- Applications
- Set data type
- Whitelist and Blacklist filters
- Dictionary lookup
- Inverted index
- file indexing
- Sparse matrix-vector multiplication
4. Graphs
- Undirected Graphs
- Directed Graphs
- Minimum spanning trees
- Shortest paths
5. Strings
String Sorts
Tries
Substring Search
Regular expressions
Data Compression
6. Context
Event-driven simulation
B-trees
Suffix Arrays
Network flow
Reductions
Intractability
No comments:
Post a Comment