CMPT 225 - Data Structures and Programming - Spring 2021

Course Information Syllabus Lectures Assignments Exams


Review before final - April 16
Lecture 33 - April 14
Selection algorithm
Slides: [Lecture33.zip]
Lecture 32 - April 12
Union-find
Kruskal's algorithm
Slides: [Lecture32.zip]
Lecture 31 - April 9
Union-find
Slides: [Lecture31.zip]
Lecture 30 - April 7
B-trees
2-3 trees
Slides: [Lecture30.zip]
Lecture 29 - March 31
AVL trees - contd.
Slides: [Lecture29.zip]
Lecture 28 - March 29
AVL trees
Slides: [Lecture28.zip]
Lecture 27 - March 26
HashSet and HashMap in Java
More on 3-SUM
Slides: [Lecture27.zip]
Lecture 26 - March 24
Hashing
Open addressing / Probing
3-SUM
Slides: [Lecture26.zip]
Lecture 25 - March 22
Hashing
Separate Chaining
Slides: [Lecture25.zip]
Lecture 24 - March 18
Graphs traversals in Java
hashCode() and equals() in Java
Slides: [Lecture24.zip]
Lecture 23 - March 17
A* algorithm
Tips for the project
Coding Graphs in Java
Slides: [Lecture23.zip]
Lecture 22 - March 15
Graphs
Breadth First Search
Depth First Search
Slides: [Lecture22.zip]
No class - March 12
Midterm
Practice problems - March 10
Lecture Cancelled - March 8
Lecture 21 - March 5
Binary Search Trees
Slides: [Lecture21.zip]
Lecture 20 - March 3
Binary Search Trees
Slides: [Lecture20.zip]
Lecture 19 - March 1
Heaps
Slides: [Lecture19.zip]
Lecture 18 - February 26
Priority queues
Heaps
Slides: [Lecture18.zip]
Lecture 17 - February 24
Arithmetic expressions:
- Infix/Prefix/Postfix notations
- Representation using binary trees
Slides: [Lecture17.zip]
Lecture 16 - February 22
Arithmetic expressions:
- Infix/Prefix/Postfix notations
Slides: [Lecture16.zip]
Lecture 15 - February 12
Binary tree traversals
Slides: [Lecture15.zip]
Lecture 14 - February 10
Trees
Binary trees
Slides: [Lecture14.zip]
Lecture 13 - February 8
Master Theorem
Faster Integer Multiplication
Megre Sort - iterative implementation
Slides: [Lecture13.zip]
Lecture 12 - February 5
Big-O notation
Master Theorem
Slides: [Lecture12.zip]
Lecture 11 - February 3
Big-O notation
Master Theorem
Slides: [Lecture11.zip]
Lecture 10 - February 1
Queues
Execution stack
A comment on recursion
Slides: [Lecture10.zip]
Lecture 9 - January 29
Doubly Linked Lists
Stacks
Slides: [Lecture09.zip]
Lecture 8 - January 27
Linked Lists
Slides: [Lecture08.zip]
Lecture 7 - January 25
Two more design patterns:
- Factory
- Builder
Streams in Java
Slides: [Lecture07.zip]
Lecture 6 - January 22
Comparable interface
Singleton design pattern
Slides: [Lecture06.zip]
Lecture 5 - January 20
Basic Java:
- Static variables and methods
- getClass() and instanceof
- Using Generics
- .equals() method
- .equals() vs '==' operator
- .clone() method
Coding style conventions
Slides: [Lecture05.zip]
Lecture 4 - January 18
File I/O
Using command line arguments
Exceptions
Slides: [Lecture04.zip]
Lecture 3 - January 15
Basic OOP continued:
- Abstract Classes
- Access modifiers: public, protected, no modifier, private
Objects vs Reference Variables
Slides: [Lecture03.zip]
Lecture 2 - January 13-15
Introduction to Java
Variables and strong typing
Basic OOP:
- Classes
- Inheritance
- Interfaces
Slides: [Lecture02.zip]
Lecture 1 - January 11
General Information
Slides: [Lecture01.zip]