COURSE OUTLINESession 5
Exam 1
Session 6
Heaps, Binary Search Trees
Session 1
Mathematical Background
- Growth of Functions
- Mathematical Induction
Session 3
Elementary Data Structures
- Arrays
- Linked Lists
- Stacks
- Queues
- Simple Trees
Session 2
Analysis of Algorithms
- The Big-O Notation
- Time and Space Complexity
- Simple Sorting Algorithms
Session 4
Sorting and Searching
- Sorting Methods
- Binary Search
- Finding Majority
Session 10
Exam 2
Session 9
Single-Source Shortest Path
- Dijkstra
- Bellman-Ford
Session 8
Graph Algorithms 2
- Connected Components
- Bridges
- Articulation Points
Session 7
Graph Algorithms 1
- Graph Representation
- Breadth-First Search
- Depth-First Search
- Topological Sorting
Session 12
Dynamic Programming 1
- Sequence alignment
- Fibonacci
- Tower of Hanoi
- Longest Common Subsequence
- Coin Change Problem
Session 11
Greedy Algorithms, Disjoint-Set Unions
- Minimum-Cost Spanning Tree: Kruskal, Prim
- Huffman Coding
Session 13
Dynamic Programming 2
- Longest Increasing Subsequence
- All-Pairs Shortest Path: Floyd-Warshall
- Egg Dropping Puzzle
- Knapsack
Session 14
Backtracking, Branch-and-Bound
- N-Queens
- Travelling Salesman Problem
- 0/1 Knapsack
Session 15
Final Exam