Department of Computer Science, Princeton University

COS 226: Data Structures and Algorithms, Spring 1998

R. Sedgewick


SCHEDULE OF LECTURES

The following list of the lectures has links to the .ps files that were used to make the slides used in lecture (try magstep=-1 in Ghostview). These are intended for reference use; you should buy the course handout, which has paper copies of the lecture notes (with all the pictures) at Pequod Copy, 6 Nassau Street. Follow this link to all the lecture notes in ASCII for the quickest route to the information in the lectures (no pictures).

Date Chapter(s) Lecture Topic(s)
February 2 1-5 1. Introduction
46 2. Elementary sorts, shellsort
97 3. Quicksort
118 4. Mergesort, analysis of algorithms
169 5. Priority queues
1810 6. Radix sorting
2312 7. Symbol-table ADTs
2513 8. Balanced trees
March 214 9. Hashing
415 10. Trie searching
911, 16 11. Sorting and searching huge files
11midterm exam
2319 12. String searching
2520, 21 13. Pattern matching
3022 14. File compression
April 124, 25 15. Basic geometric algorithms
626, 27, 28 16. Geometric search
829, 30 17. Basic graph algorithms
1331, 32 18. Spanning trees and 19. Shortest paths
1533, 34, 43 20. Network flow, matching, linear programming
2036, 41 21. Multiplication
2223 22. Cryptology
2742 23. Dynamic programming
2945 24. Intractable problems
May 11review for final exam


The course text is Algorithms, Third Edition, in C, Addison-Wesley, 1998. by Robert Sedgewick, ISBN 0-201-31452-5. Only the first half (Parts 1-4) of the new edition is currently available. You will get instructions on obtaining the second half of the text after the break. Chapters numbered 1-16 in the table above refer to the 3rd edition; chapters numbered 17-45 refer to the 2nd edition.

Problem Sets

Problem sets are handed out in lecture each Wednesday, due the following Wednesday, except March 11. These are a very important part of the course and should be taken seriously. Not only do they contribute a substantial percentage to your grade, but also you can be sure that many of the questions will reappear on the midterm and final, but with different input data.

Programming Assignments

Programs are handed out in lecture on Wednesday and due for electronic submission eight days later (Thursday, at 11:59 PM), with a readme file due the following Sunday (also at 11:59 PM). These programs may be developed on the computer of your choice. It is your responsibility to describe how you have completed the assignment in the written submission that you hand in on Monday, not ours to glean this information from code that you submit electronically on Thursday.

Precepts

At precepts, we return and discuss the program and written assigment that were handed in the previous week, and give details and answer questions about the new assignment. Attendence at precepts is mandatory, and you should come prepared to participate in the discussion, not just ask questions.


Copyright (c) 1998, R. Sedgewick