CMPT 225 - Data Structures and Programming - Spring 2023
Course outline:
SFU course outlines
Topics Covered:
- Intro to Java and Object Oriented Programming
- Review of some basic data structures: Array, Linked list, Stack, Queue, Iterators
- Big-O notation and the Master Theorem
- Recursion: Faster integer multipllication, Merge sort
- Converting recursion to iteration using a stack
- Trees, Binary Trees, Traversals
- Arithmetic expressions: Infix/Prefix/Postfix notations
- Priority Queues using Heap
- Heap sort
- Binary search trees
- Self-balancing trees: AVL trees, B-trees
- Hash tables: chaining vs linear-probing
- Graphs and graph traversals: BFS, DFS, A*
- Union-find
- Kruskal's algorithm
Grading:
- Final exam - 35%
- Midterm exam - 25%
- Four homework assignments - 20%
- Project - 20%
Exams:
There will be a midterm and a final exam. All exams are cumulative, on
all the material covered thus far.
Recommended textbooks (not mandatory):
Related courses: