Repo for Data Structures and Algorithms course from https://www.coursera.org/learn/algorithms-part1/
Book: https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X
- Union-Find
- Dynamic Connectivity
- Quick Find
- Quick Union
- Quick-Union Improvements
- Union-Find Applications
- Assignment: Percolation
- Analysis of Algorithms
- Observations
- Mathematical Models
- Order-of-Growth Classifications
- Theory of Algorithms
- Memory
- Stacks and Queues
- Stacks
- Resizing Arrays
- Queues
- Generics
- Iterators
- Assignment: Deques and Randomized Queues
- Elementary Sorts
- Selection Sort
- Insertion Sort
- Shellsort
- Shuffling
- Covex Hull
- Mergesort
- Mergesort
- Bottom-up Mergesort
- Sorting Complexity
- Comparators
- Stability
- Assignment: Collinear Points
- Quicksort
- Quicksort
- Selection
- Duplicate Keys
- System Sorts
- Priority Queues
- APIs and Elementary Implementations
- Binary Heaps
- Heapsort
- Event-Driven Simulation
- Assignment: 8 Puzzle
- Elementary Symbol Tables
- Symbol Table API
- Elementary Implementations
- Ordered Operations
- Binary Search Trees
- Ordered Operations in BSTs
- Deletion in BSTs
- Balanced Search Trees
- 2-3 Search Trees
- Red-Black BSTs
- B-Trees
- Geometric Applications of BSTs
- 1d Range Search
- Line Segment Intersection
- Kd-Trees
- Interval Search Trees
- Rectangle Intersection
- Assignment: Kd-Trees
- Hash Tables
- Hash Tables
- Separate Chaining
- Linear Probing
- Hash Table Context
- Symbol Table Applications
- Sets
- Dictionary Clients
- Indexing Clients
- Sparse Vectors