Class Notes
Notes:
- Review of Basic Data Structures
- Chapter 1
- Chapter 2 Basics of Algorithm Analysis
- Chapter 3, Graphs
-
Divide Conquer, Combine Sorting
- Chapter 4, Greedy Techniques
- Complexity
- Hash Tables
- A quick intro to Computational Geometry
Course outline
The course outline requires the coverage of the following topics:
- Mathematical Techniques
- Review of Selected Topics in Mathematics ✓
- Recurrence Relations ✓
- Review of Proof Methods ✓
- Analysis of Algorithms and Data Structures
- Asymptotic Notation ✓
- Complexity ✓
- Space
- Time
- Algorithm Correctness ✓
- Program Efficiency
- Algorithm Design Methods
- Brute Force ✓
- Divide, Conquer, and Combine ✓
- Greedy ✓
- Analogy ✓
- Elementary Data Structures ✓
- Implementation ✓
- Performance Analysis ✓
- Application ✓
- Data Structures Covered ✓
- Arrays ✓
- Lists ✓
- Stacks ✓
- Queues ✓
- Additional Data Structures
- Trees
- Terminology ✓
- Representations ✓
- Binary Trees
- Tree Algorithms
- Graphs ✓
- Terminology ✓
- Representations ✓
- Graph Algorithms ✓
- Algorithms
- Searching ✓
- Sorting ✓
- Properties of Sorting Algorithms ✓
- Comparison Based Sorts ✓
- Non-Comparison Based Sorts ✓
- Limits of Computation
- The Classes P and NP
- NP-complete Problems
- Intractable Problems
- Additional Topics
- Other Algorithms
- Computational Geometry
- Pattern Matching
- Numeric Algorithms
- Additional Data Structures
- Maps
- Hash Tables