CMS 702: Data Structures & Computer Algorithms (3 Units)
Official course outline
Basic algorithmic analysis: Asymptotic analysis of Upper and average complexity bounds; standard Complexity Classes. Time and space tradeoffs in algorithms analysis, recursive algorithms. Algorithmic Strategies: Fundamental computing algorithms: Numerical algorithms, sequential and binary search algorithms; sorting algorithms, Binary Search trees, Hash tables, graphs & its representation. Primitive types, Arrays, Records, Strings and String processing, Data representation in memory, Stack and Heap allocation, Queues, Trees. Implementation Strategies for stack, queues, trees and graphs. Run time Storage management; Pointers and References, linked structures.
Outline vs. what the lecture notes cover
| Outline topic | Covered in the lecture notes? |
|---|---|
| Asymptotic analysis, upper/average bounds | ✅ §2 |
| Standard complexity classes | ✅ §3 |
| Time and space tradeoffs | ⚠️ only touched |
| Recursive algorithms | ⚠️ listed as an algorithm type only |
| Algorithmic strategies (greedy, divide & conquer, DP, backtracking) | ⚠️ named in §1, DP defined in §6 |
| Numerical algorithms | ❌ gap |
| Sequential & binary search | ✅ binary search §4; sequential only named |
| Sorting algorithms | ⚠️ types named in §4, no mechanics |
| Binary search trees | ✅ §12–§16 (strongest area) |
| Hash tables | ✅ §5 |
| Graphs & representation | ❌ gap |
| Primitive types, arrays, records | ✅ §7 (records light) |
| Strings & string processing | ⚠️ only via the hashing example |
| Data representation in memory | ✅ §7 |
| Stack and heap allocation | ⚠️ stack ADT covered §8; heap allocation not |
| Queues, Trees | ✅ §9, §10–§11 |
| Implementation strategies (stack, queue, tree, graph) | ⚠️ partial |
| Run-time storage management | ❌ gap |
| Pointers, references, linked structures | ✅ §7 |
Highest-risk gaps for the exam: graphs & their representation, sorting algorithm mechanics, run-time storage management, numerical algorithms.