Course Overview
This course covered fundamental data structures & algorithms and their implementations. Key areas included:
Basic Data Structures
- Arrays and dynamic arrays
- Linked lists (singly and doubly linked)
- Stacks and queues
- Hash tables and collision resolution
Trees and Graphs
- Binary trees and binary search trees
- AVL and Red-Black trees
- Heaps and priority queues
- Graph representations and traversals
- Minimum spanning trees
Analysis and Implementation
- Time and space complexity analysis
- Implementation tradeoffs
- Memory management considerations
- Iterator patterns and implementations
Algorithm Analysis
- Big O notation
- Asymptotic analysis
- Recurrence relations
Sorting and Searching
- Comparison-based sorting algorithms
- Linear sorting algorithms
- Binary search and variants
- Selection algorithms
Algorithm Design Paradigms
- Divide and conquer
- Dynamic programming
- Greedy algorithms
- Backtracking