CSC 241IntermediateComputer Science
Data Structures and Algorithms
This course develops a working understanding of how data structures and algorithms behave, how to reason about their efficiency, and how to choose the right tool for a problem. Students move from arrays and linked structures through trees, hashing and graphs, then study sorting, searching and algorithmic strategy. Assessment combines short practice sets with two graded assessments.
Learning outcomes
- Analyse the time and space complexity of an algorithm using asymptotic notation.
- Select an appropriate data structure for a given problem and justify the choice.
- Implement common sorting and searching algorithms correctly.
- Model a problem as a graph and apply a standard traversal to solve it.
Course outline
- Why efficiency matters25 min
- Big-O, big-Theta and big-Omega35 min
- Arrays and memory layout30 min
- Linked lists35 min
- Stacks and queues30 min
- Recursion and the call stack40 min
- Trees and traversal40 min
- Binary search trees40 min
- Hashing35 min
- Comparison sorting45 min
- Binary search25 min
- Graphs: BFS and DFS45 min
Knowledge concepts covered
Algorithmic complexityArrays and memory layoutLinked structuresRecursionTrees and binary search treesHashingSorting algorithmsSearchingGraphs and traversal