22C:44 Algorithms Spring 2001
Section 1: 1:05-2:20 TTh Room 205 MLH
Section 2: 10:55-12:10 TTh, Room 214 MLH
Instructor:
Sriram V. Pemmaraju
101G MLH, 1:30-2:30 M and 2:30-3:30 Th, sriram@cs.uiowa.edu, 353-2956
Teaching Assistants:
Shuquan Hou, B20J MLH, 10-11 MW, shuquan-hou@uiowa.edu, 335-3650.
Xu Ye, B20J MLH, 3-4 T, 9:30-10:30 F, xu@cs.uiowa.edu, 335-3650.
Syllabus html, postscript,or pdf,
Final Grades. Posted 5/13.
If you are interested in picking up your final or homeworks send me e-mail.
Announcements
- Reading for week 2 (1/22-1/26): Chapter 2
- Reading for week 3 (1/29-2/2): Sections 1.3, 3.1, and 4.1.
- Reading for week 4 (2/5-2/9): Sections 4.1, 4.2, and 4.3.
- Reading for week 5 (2/12-2/16): Section 4.3 and Chapter 7.
- Reading for week 6 (2/19-2/23): Chapter 7 and Sections 8.1 and 8.2.
- Reading for week 7 (2/26-3/2): Sections 8.1, 8.2, and 8.3.
- Reading for week 8 (3/5-3/9): Chapter 10.
- Reading for week 10 (3/19-3/23): Sections 12.1 and 12.2.
- Reading for week 11 (3/25-3/30): Sections 12.3 and 12.4.
- Reading for week 12 (4/2-4/6): Sections 17.1 and 17.2.
- Reading for week 13 (4/9-4/13): Sections 17.2 and 17.3.
- Reading for week 13 (4/16-4/20): Sections 5.4, 23.1, and 23.2.
- Reading for week 14 (4/23-4/27): Sections 25.1, 25.2, 25.3.
Homeworks
-
Homework 1: postscript and pdf.
Due on Thursday, 2/1.
-
Homework 1 Solution: postscript and pdf.
-
Homework 2: postscript and pdf.
Due on Tuesday, 2/13.
-
Homework 2 Solution: postscript and pdf.
-
Homework 3: postscript and pdf.
Due on Thursday, 2/22.
-
Homework 3 Solution: postscript and pdf.
-
Homework 4: postscript and pdf.
Due on Tuesday, 3/20.
-
Homework 4 Solution: postscript and pdf.
-
Homework 5: postscript and pdf.
Due on Thursday, 4/5.
-
Homework 5 Solution: For Problem 1,
the C++ program and files for asscociated classes are:
hw5.C,
vector.h,
ctimer.h,
ctimer.cpp,
randgen.h, and
randgen.cpp.
I used the g++ compiler on a Linux PC to compile and run the program.
The vector class, ctimer class, and randgen class were all available at
this site.
The solution for Problem 2 is here: postscript and pdf.
-
Homework 6: postscript and pdf.
Due on Tuesday, 4/17.
-
Homework 6 Solution: postscript and pdf.
-
Homework 7: postscript and pdf.
Due on Tuesday, 5/1.
IMPORTANT: Problem 1 in Homework 7 is wrong. The given greedy algorithm
does not compute the optimal solution and so you cannot prove that it does.
Instead devise a counterexample to show that the given greedy does not always
produce an optimal solution.
-
Homework 7 Solution: postscript and pdf.
-
Homework 8: postscript and pdf.
Due on Tuesday, 5/8.
-
Homework 8 Solution: postscript and pdf.
Exams
- The midterm is scheduled for Wednesday, March 7, 6-8 pm in 1505
Seaman's Center.
Here are more details.
- The solution to the midterm is
here (postscript)
and
here (pdf).
- The final is scheduled for Wednesday, May 9, 12-2 pm in
1505 Seaman's Center.
Here are more details.
Handouts
- Some experiments with sorting:
postscript,
pdf
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on asymptotic notation.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on analyzing iterative and
recursive functions and on solving recurrences.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on solving recurrences and
heaps. Ignore Problems 2 and 3 since they deal with probability theory,
a topic we have not covered in class, this semester.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on heaps and
quick sort. The solution to Problem 1 has an obvious error; make sure you
spot it.
- Practice test problems (postscript and
pdf). Unfortunately, the solutions to this
exam do not seem to exist.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on quick sort, heaps, and
selection.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on hashing.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on hashing and dynamic programming.
Ignore the problems on dynamic programming.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on greedy algorithms
and graph representation.
- Practice problems (postscript and
pdf) and solutions
(postscript and
pdf) on graph traversals.