CS:4/56101 Design and Analysis of Algorithms - Summer 2019

WF 12:00-2:30pm @ MSB 106
Office Hours: by appointment @ MSB 352

This schedule is not final. It may change.

Topics Subtopics & Slides Reading Date
Introduction Syllabus
Intro 6/12
Ch 1: Algorithm Analysis Analysis of Algorithms 1.1, 1.2, 1.3, 1.4 6/12
Ch 2: Basic Data Structures Elementary Data Structures 1.5, 2.1, 2.2, 2.3 6/12; 6/14
Priority Queues and Heaps 2.4.1 - 2.4.4 6/14; 6/19
Dictionaries and Hash Tables 2.5.1 - 2.5.6 6/19
Ch 3: Search Trees and Skip Lists Binary Search Trees 3.1.1 - 3.1.6 6/21
Red-Black Trees 3.3.3 6/21
Ch 4: Sorting, Sets, and Selection Merge Sort 4.1.1 6/26
Quick Sort 4.3.1, 4.6 6/26
Sorting Lower Bound 4.4 6/28
Radix Sort 4.5.1, 4.5.2 6/28
Sets 4.2.1 7/3
Selection 4.7, 4.7.1 - 4.7.3 7/3
Ch 5: Fundamental Techniques Greedy Method 5.1, 5.1.1, 5.1.2 7/5
Divide and Conquer 5.2, 5.2.1 - 5.2.3 7/5; 7/10
Dynamic Programming 5.3, 5.3.1 - 5.3.3 7/12
Ch 6: Graphs Graphs 6.1 - 6.2 7/17
Depth-First Search 6.3.1 7/17
Breadth-First Search 6.3.3 7/19
Biconnectivity 6.3.2 7/19
Directed Graphs 6.4.1, 6.4.2, 6.4.4 7/19; 7/24
Ch 7: Weighted Graphs Shortest Paths 7.1, 7.1.1 - 7.1.3, 7.2, 7.2.1 7/24
Minimum Spanning Trees 7.3, 7.3.1 - 7.3.3 7/24; 7/26
Ch 8: Network Flow and Matching Network Flow 8.1.1, 8.1.2, 8.2.1 - 8.2.3 7/26; 8/31

Homework

Clearly number your solution to each problem. Staple your solutions and bring them to class on the due date. Express your algorithms in pseudo-code when directed. Always provide justification for your answer when asked to give the running time of an algorithm, or when asked to given an algorithm running in a specific time. Be brief and concise, and draw pictures where appropriate.

Exams

  1. Midterm Exam (info) (overview)
    Wed 7/10, during half of class
    Topics include chapters 1-4.
  2. Final Exam (info) (overview)
    Fri 8/02, during class
    Topics include chapters 5-8.

Piazza

Sign up for Piazza, a Q&A web service where you can ask and answer questions related to the class.

Heather M. Guarnera / hmichaud@kent.edu