COMS10007 Algorithms - 2019/2020 (TB2)

Teaching Staff: Teaching Units: Assessment: Textbook/Course Material:
Most of the lectures will be taught using slides. Slides will be made available online (below on this webpage) soon after the lecture. An excellent and more detailed coverage of many of the topics (however not all of them) treated in this course is given in:

"Introduction to Algorithms", Cormen, Leiserson, Rivest, Stein, 3rd edition, The MIT press, 2009 .

I highly recommend this textbook. It is the standard textbook for basic algorithms courses and is based on the material taught at MIT. It will be useful for all algorithms courses at the University of Bristol (2nd year Data Structures and Algorithms, 3rd year Advanced Algorithms).

Office Hours: Questions?


13Mon27-JanLecture 1: Introduction, Peak Finding PDF
Wed29-JanLecture 2: O-notationPDF
14Mon03-FebLecture 3: Theta, Omega, RAM ModelPDF
Tue04-FebExercise Class 1Worksheet 1
Wed05-FebLecture 4: Linear Search, Binary Search, Proofs by InductionPDF
15Mon10-FebLecture 5: Loop Invariants and Insertion-sortPDF
Tue11-FebExercise Class 2Worksheet 2
Wed12-FebLecture 6: Mergesort and Maximum Subarray ProblemPDF
16Mon17-FebLecture 7: Mergesort and Maximum Subarray Problem (slides of lectures 6,7 are combined)
Tue18-FebExercise Class 3Worksheet 3
Wed19-FebLecture 8: Trees and HeapsortPDF
17Mon24-FebLecture 9: Heapsort (slides of lectures 8 and 9 are combined)
Tue25-FebExercise Class 4Worksheet 4
Wed26-FebLecture 10: QuicksortPDF
Reading Week
19Mon09-MarLecture 11: Runtime of Quicksort (Lecturer: Raphael Clifford)PDF
Tue10-MarIn-class TestIn-class Test
Wed11-MarLecture 12: Sorting Lower Bound, Countingsort, Radixsort (Lecturer: Raphael Clifford)PDF
20Mon16-MarLecture 13: Recurrences I (Lecturer: John Lapinskas)PDF
Tue17-MarExercise Class 5 (canceled)
Wed18-MarLecture 14: Recurrences II (Lecturer: John Lapinskas) video lecture - see files on blackboard for recordingPDF
Easter Break
22Mon20-AprLecture 15: Fibonacci Numbers - video lecture - see blackboard for recordingPDF
Tue21-AprExercise Class 5Worksheet 5
Wed22-AprLecture 16: Pole Cutting (Dynamic Programming) - video lecture - see blackboard for recordingPDF
23Mon27-AprLecture 17: Matrix Chain Parenthesization (Dynamic Programming)- video lecture - see blackboard for recordingPDF
Tue28-AprExercise Class 6Worksheet 6
Wed29-AprLecture 18: Elements of Dynamic Programming, Maximum Subarray Problem - video lecture - see blackboard for recordingPDF
24Mon04-MayLecture 19: Peak Finding in 2D - video lecture - see blackboard for recordingPDF
Tue05-MayExercise Class 7Worksheet 7
Wed06-MayLecture 20: Summary and Outlook - video lecture - see blackboard for recordingPDF
25Mon11-MayLecture 21
Wed13-MayLecture 22