COMS10007 Algorithms - 2019/2020 (TB2)

News:
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?

Schedule

WeekDayDateTopicsSlides
13Mon27-JanLecture 1: Introduction, Peak Finding PDF
Wed29-JanLecture 2: O-notationPDF
14Mon03-FebLecture 3: Theta, Omega, RAM ModelPDF
Tue04-FebExercise Class 1Worksheet 1
Solution
Wed05-FebLecture 4: Linear Search, Binary Search, Proofs by InductionPDF
15Mon10-FebLecture 5: Loop Invariants and Insertion-sortPDF
Tue11-FebExercise Class 2Worksheet 2
Solution
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
Solution
Wed19-FebLecture 8: Trees and HeapsortPDF
17Mon24-FebLecture 9: Heapsort (slides of lectures 8 and 9 are combined)
Tue25-FebExercise Class 4Worksheet 4
Solution
Wed26-FebLecture 10: QuicksortPDF
18
Reading Week
19Mon09-MarLecture 11: Runtime of Quicksort (Lecturer: Raphael Clifford)PDF
Tue10-MarIn-class TestIn-class Test
Solution
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
Solution
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
Solution
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
Solution
Wed06-MayLecture 20: Summary and Outlook - video lecture - see blackboard for recordingPDF
25Mon11-MayLecture 21
Wed13-MayLecture 22