Welcome to Analysis of Algorithms CS395. This course is offered in the Spring Semester 2009 at the University of Idaho in Moscow. The course is taught by Dr. Axel Krings.

Course description from UI General Catalog: Same as Math 395. Measures of efficiency; standard methods and examples in the design and analysis of algorithms. Prereq: Math 175.

Prerequisites by Topic: Graphs, trees, linked lists, searching & sorting algorithms (CS 121), Counting, induction, Boolean algebra, series (Math 175 & Math 176).

Text: Introduction to the Design & Analysis of Algorithms, by Anany Levitin, 2nd edition, 2007.

- Contact information:
- Axel Krings (PhD), JEB B30,
- Phone: 208-885-4078, fax: 208-885-9052.
- Office Hours: (see here)
- Class times: MWF 12:30-13:20 room TLC 29.

- The handouts are ordered by sequence numbers and the material covered in the lectures are indicated next to the date.
- If there are any problems with accessing the handouts, please let me know (email, phone, smoke signs, drums, ...)!
- Corrections: some slides may contain formatting errors, typos etc. which have been addressed in class, but have not been reflected in the notes posted here.
- WARNING LOCAL STUDENTS: Do not send pdf files (i.e. files in pdf format) to the printer! Pdf files are binary files and printing them "directly" will result in a big printer mess!!! Use a pdf reader to view and print the file!!!
- Syllabus
- Supplementary Lecture Support Notes. Note that much will be done on the whiteboard. The material posted here is just a supplement.
- Lecture 1 (01/14/09): [1/01-1/12] Sequence 1, (pdf), : Introduction, fundamentals of algorithmic problem solving
- Lecture 2 (01/16/09): [1/13-1/25] Sequence 2, (pdf), : Important problem types, fundamental data structures
- Lecture 3 (01/21/09): [1/26-3/04] Sequence 3, (pdf), : Order of growth, worst-case, best-case- average case efficiency, Bid-O notation, Big-Omega notation, Big-Theta notation
- Lecture 4 (01/23/09): [3/05-3/11] Sequence 4, (pdf), : properties of asymptotic order of growth, l'Hopital's rule, Strirling's formula
- Lecture 5 (01/26/09): [3/12-4/04] Sequence 5, (pdf), : mathematical analysis of nonrecursive algorithms
- Lecture 6 (01/28/09): [4/05-5/05] Sequence 6, (pdf), : mathematical analysis of recursive algorithms
- Lecture 7 (01/30/09): [5/06-6/11] Sequence 7, (pdf), : Tower of Hanoi
- Lecture 8 (02/02/09): [6/12-7/05] Sequence 8, (pdf), : Smoothness Rule and the Master Theorem
- Lecture 9 (02/04/09): [7/06-8/07] Recurrence cont., [whiteboard]
- Lecture 10 (02/06/09): [8/08-9/04] Sequence 9, (pdf), : homogeneous linear recurrence, [whiteboard]
- Lecture 11 (02/09/09): [9/05-10/10] Sequence 10, (pdf), : [whiteboard], Brute Force approach
- Lecture 12 (02/11/09): [11/01-11/12] Sequence 11, (pdf), : Sequence 12, (pdf), : Brute Force approaches
- Lecture 13 (02/13/09): [11/13-12/16] Sequence 13, (pdf), : Divide and Conquer, Mergesort, [whiteboard]
- Lecture 14 (02/18/09): [13/01-13/09] Sequence 14, (pdf), : Quicksortsort, [whiteboard]
- Lecture 15 (02/20/09): [14/01-14/05] Sequence 15, (pdf), : [whiteboard], Searching
- Lecture 16 (02/23/09): [15/01-15/02] Sequence 16, (pdf), : Binary Tree Algorithms
- Lecture 17 (02/25/09): [17/01-17/02] Sequence 17, (pdf), : Solving inhomogeneous recurrence relations, [whiteboard], needed for HW3
- Lecture 18 (02/27/09): [17/01-17/02] Inhomogeneous recurrence relations cont. [whiteboard]
- Lecture 19 (03/02/09): [sequence 15 + 18/1-18/3] Sequence 18, (pdf), : Div. and conquer: Closest Pair, Convex-Hull Problems
- Lecture 20 (03/04/09): [18/04-18/09] Sequence 19, (pdf), : Cap5: Decrease and conquer algorithms, analysis of insertion sort
- Lecture 21 (03/06/09): [19/01-19/07] Sequence 20, (pdf), : Cap5.2: Depth-First Search, Breadth-First Search
- No Lecture (03/09/09): class canceled
- EXAM I (03/11/09): in-class exam, closed book, materials covered are sequence 1-12 and 17 (which covered inhomogeneous recurrence relations)
- Lecture 22 (03/13/09): [19/08-20/05] catching up
- Spring break
- No Lecture (03/23/09): class canceled
- Lecture 23 (03/25/09): [20/05-214/03] Exam discussion, Sequence 21, (pdf), : Cap5.3: Topological Sorting, Partial Order, Linear Extensions
- Lecture 24 (03/27/09): [21/04-22/01] Sequence 22, (pdf), : Decrease-by-constant-factor algorithms, variable-size-decrease algorithms
- Lecture 25,26,27: Reading assignment: Chapter 6,1 to 6.4
- Lecture 25 (04/08/09): [22/02-23/05] Sequence 23, (pdf), : Transform-and-conquer, presorting, Gaussian elimination, searching problems
- Lecture 26 (04/10/09): [23/06-24/xx] Sequence 24, (pdf), : Balanced trees, AVL trees, multiway search trees, 2-3 trees
- Lecture 27 (04/13/09): [xx/xx-xx/xx] Sequence 25, (pdf), : Heaps, Heapsort
- Lecture 28 (04/20/09): [25/xx-25/13] Sequence 26, (pdf), : Pattern matching: Horspool's algorithm
- Lecture 29 (04/22/09): [26/01-26/10] Pattern matching: Boyer-Moore algorithm
- Lecture 30 (04/24/09): [26/11-27/11] Sequence 27, (pdf), : Hashing
- Lecture 31 (04/27/09): [28/01-28/17] Sequence 28, (pdf), : Dynamic programming: Fib., Binomial Coefficients, Transitive Closure - Warshall's Algo.
- Lecture 32 (04/29/09): [28/18-28/27] Dynamic programming: Floyd's Algo. - shortest paths, Knapsack Problem
- EXAM II (05/01/09): in-class exam, closed book, materials covered are sequence 13-28 (up to slide 17)
- Lecture 33 (05/04/09): [29/01-29/15] Sequence 29, (pdf), : Greedy techniques: Minimum Spanning Tree (Prim's algo, Kruskal's algo), Shortest Path problem (Dijkstra's algo)
- Lecture 34 (05/06/09): [29/16-29/26] Sequence 30, (pdf), : Iterative Improvement, max-flow, max-flow min-cut theorem
- Lecture 35 (05/08/09): [29/27-30/26]
catching up
- Final Exam (05/15/09) Friday at 12:30pm

- Homeworks