MCS/CS 401 - Computer Algorithms I - Spring 2020

This is the webpage for MCS/CS 401 - Computer Algorithms I.

Syllabus

You can find the syllabus here . UPDATED ON MARCH 31.

Homework

Homework 1 (January 22, 2020)

Due Wednesday, January 29.

  1. Exercise 3-1-4, page 53
  2. Problem 3-3-a, page 61
  3. Exercise 3-4-b, page 62
  4. Exercise 4-5-1, page 96

You can find the solutions here .

Homework 2 (February 5, 2020)

Due Wednesday, February 12.

  1. Exercise 5-2-1, page 122
  2. Exercise 5-2-5, page 122
  3. Exercise 5-3-3, page 128
  4. Exercise 6-3-1, page 159
  5. Exercise 6-4-1, page 160

You can find the solutions here .

Homework 3 (February 17, 2020)

Due Monday, February 24.

  1. Exercise 7-2-3, page 178
  2. Problem 7-4-4, page 184
  3. Exercise 8-1-3, page 194, first two questions.
  4. Exercise 8-2-2, page 196
  5. Exercise 9-3-6, page 223

You can find the solutions here .

Homework 4 (March 11, 2020)

Due Wednesday, March 18. EXTENDED: Friday, April 3.

  1. Exercise 11-2-2, page 261
  2. Problem 11-4-1, page 277
  3. Exercise 15-4-4, page 396
  4. Exercise 16-1-5, page 422. Give a dynamic programming algorithm.
  5. The description of the last problem can be found here.

You can find the solutions here .

Homework 5 (April 8, 2020)

Due Wednesday, April 15.

  1. Exercise 22-2-5, page 602
  2. Exercise 22-3-2, page 610
  3. Exercise 22-4-4, page 615. Hint: consider a directed path with back edges.
  4. Exercise 23-1-5, page 629. Hint: Consider an MST containing e and delete e from the tree. Find an edge on the cycle to reconnect the tree.

You can find the solutions here .

Homework 6 (April 24, 2020)

Due Wednesday, April 29.

  1. Exercise 24-3-1, page 662
  2. Exercise 26-2-3, page 730
  3. Exercise 34-2-1, page 1065

You can find the solutions here .

Additional Material

The material discussed on March 11 and 13 can be found here .

Lecture slides

March 30, April 1: Graphs review and breadth-first search.

April 1 - 3: Depth-first search.

April 6: Topological search.

April 8: Minimum spanning trees.

April 10: Shortest paths.

April 13 - 15: Flow networks.

April 17, 24 - 29: NP-completeness.

Exams

Midterm 1 (Wednesday, March 4, 2020)

The list of topics for Midterm 1 can be found here .

You can find the solutions here .

Midterm 2 (Wednesday, April 22, 11:00-12:30 on Blackboard)

The list of topics for Midterm 2 can be found here . UPDATE (Monday, April 20): there will be no Midterm 1 question.

The exam is open book. Please check access and uploading to Midterm 2 Trial in advance.

Practice problems discussed in class with hints can be found here .

You can find the solutions here .

Final (Thursday, May 7, 10:30-1:00 on Blackboard)

The list of topics for the Final can be found here .

Practice problems discussed in class with hints can be found here .