COSC242

Algorithms and Data Structures

Lecture Timetable (provisional)

The lecture notes have but one purpose: to remind the lecturer what to cover in class. Reading these cannot substitute for attending the lecture. Most topics are also extensively covered in the textbook, but we sometimes take a different approach than they do.

Electronic copies of each lecture handout are available the week before. Hard copies are not provided. We reserve the right to depart from the planned schedule if necessary.

Lecture Date Topic (Click for PDF)
1 10 July Introduction
2 13 July Big-O and theta
3 17 July Proof techniques
4 20 July Induction examples
5 24 July Divide and conquer algorithms
6 27 July Recurrences and mergesort analysis
7 31 July Quicksort
8 3 August Quicksort analysis and improvements
9 7 August Sorting in linear time
10 10 August Hash tables
11 14 August Hashing techniques
12 17 August Perfect hashing
13 21 August Binary search trees 1
14 24 August Binary search trees 2
  (Aug 26th - Sept 3rd) Mid-semester break
15 4 September Red-black trees 1
16 7 September Red-black trees 2
17 11 September B-trees
18 14 September Graph algorithms 1
19 18 September Graph algorithms 2
20 21 September Graph algorithms 3
21 25 September Greedy algorithms
22 28 September Dynamic programming 1
23 2 October Dynamic programming 2
  5 October Lecture 23 continued
24 9 October Classes P and NP
25 12 October Review and Exam prep
Valid XHTML 1.0 Strict

Page maintained by Iain Hewson. Last modified: Wed Oct 11 16:12:24 2017