CMPT 307: Data Structures and Algorithms
Classroom: Monday: C9000; Wednesday, Friday: WMC 3260
Time:9:30 am --- 10:20am
Instructor: Binay Bhattacharya Office: TASC I 8017, e-mail: binay@cs.sfu.ca
Office hours (Binay): MW 1:45 pm-2:30pm
TA: Ermin Hodzic (e-mail) ehodzic@sfu.ca
TA: Yanting Deng (e-mail) yantingd@sfu.ca
Office hours (Ermin): Tuesdays 11:00 am to 12 noon (Room: ASB 9808)
Office hours (Yanting): Fridays 3:00 pm to 4 pm (Room: ASB 9810)
Messages
10:30-11:20, Monday, Wednesday, Friday
Week
Date
Topics
Other Information 1 2 3 4 5 6 7 08 09 10 11 12 13
Course Outlines in SFU Calendar
Lectures
04/09
Course Organization (Introduction)(.pptx)
Read Chapter 0
06/09
Analysis of Algorithms(.pdf)
09/09
Analysis of Fibonacci Sequence
Growth of Functions
11/09
Growth of Functions
Work on the problems in Growth Of Functions notes
13/05
Complexity issues of multiplications,
divisions, exponentiations; modular arithmetic AlgorithmsWithNumbers.pdf
Read Chapter 1
16/09
Complexity of bit operations
18/09
GCD algorithm and its properties
20/09
Primality Testing
23/09
Divide and Conquer Notes
Read Chapter 2 of the text
25/09
Solving Recurrences (Master Theorem)
27/09
Megesort; Selection
Practice problems: 2.1, 2.2, 2.3, 2.5, 2.14, 2.16
30/09
Discussing problems from Chapter 0 through 2.
02/06
Quiz 1
Sorting lower bound
04/10
Sorting lower bound
Randomized divide-and-conquer
07/10
Randomized divide-and-conquer
Read Chapter 3
09/10
Decomposition of Graphs (DFS)
DFS-Chapter 3
11/10
Graphs
14/10
Thanksgiving
16/10
Chapter 3
18/10
Finishing Ch 3. Starting BFS (Ch 4)
Notes
Quiz 2: October 23
21/10
BFS (contd.)
23/10
Quiz 2
Covers DFS (Ch 3) and part of BFS (Ch 4)
25/10
Shortest Paths
28/10
Shortest paths
30/10
Greedy AlgorithmsNotes
01/11
Greedy Algorithms (contd.)
04/11
Minimum Spanning Tree
Dynamic Programming
06/11
Dynamic Programming
DP-Notes
08/11
ProblemSolving
11/11
No Class
13/11
Dynamic Programming
15/11
Quiz 3
18/11
DP contd.
20/11
DP contd.
22/11
Data Structures
Hashing, Priority Search Trees, Suffix Trees
25/11
Quiz 3 and 2-3 tree 2-3 Tree
27/11
Hashing Hashing
29/11
Review
Handouts