Course Introduction-Course Introduction
Welcome to Algorithms, Part I
Lecture Slides
Course Introduction
()
Union−Find-Union−Find
Overview
Lecture Slides
Dynamic Connectivity
()
Quick Find
()
Quick Union
()
Quick-Union Improvements
()
Union−Find Applications
()
Analysis of Algorithms-Analysis of Algorithms
Lecture Slides
Analysis of Algorithms Introduction
()
Observations
()
Mathematical Models
()
Order-of-Growth Classifications
()
Theory of Algorithms
()
Memory
()
Stacks and Queues-Stacks and Queues
Overview
Lecture Slides
Stacks
()
Resizing Arrays
()
Queues
()
Generics
()
Iterators
()
Stack and Queue Applications (optional)
()
Elementary Sorts-Elementary Sorts
Lecture Slides
Sorting Introduction
()
Selection Sort
()
Insertion Sort
()
Shellsort
()
Shuffling
()
Convex Hull
()
Mergesort-Mergesort
Overview
Lecture Slides
Mergesort
()
Bottom-up Mergesort
()
Sorting Complexity
()
Comparators
()
Stability
()
Quicksort-Quicksort
Lecture Slides
Quicksort
()
Selection
()
Duplicate Keys
()
System Sorts
()
Priority Queues-Priority Queues
Overview
Lecture Slides
APIs and Elementary Implementations
()
Binary Heaps
()
Heapsort
()
Event-Driven Simulation (optional)
()
Elementary Symbol Tables-Elementary Symbol Tables
Lecture Slides
Symbol Table API
()
Elementary Implementations
()
Ordered Operations
()
Binary Search Trees
()
Ordered Operations in BSTs
()
Deletion in BSTs
()
Balanced Search Trees-Balanced Search Trees
Overview
Lecture Slides
2−3 Search Trees
()
Red-Black BSTs
()
B-Trees (optional)
()
Geometric Applications of BSTs-Geometric Applications of BSTs
Lecture Slides
1d Range Search
()
Line Segment Intersection
()
Kd-Trees
()
Interval Search Trees
()
Rectangle Intersection
()
Hash Tables-Hash Tables
Overview
Lecture Slides
Hash Tables
()
Separate Chaining
()
Linear Probing
()
Hash Table Context
()
Symbol Table Applications-Symbol Table Applications
Lecture Slides
Symbol Table Applications: Sets (optional)
()
Symbol Table Applications: Dictionary Clients (optional)
()
Symbol Table Applications: Indexing Clients (optional)
()
Symbol Table Applications: Sparse Vectors (optional)
()