Math 176 - Advanced Data Structures
Univ. of California, San Diego - Fall 2000
Instructor: Sam Buss
Course Web Page
Instructor: Sam Buss, sbuss@ucsd.edu, Professor of Mathematics and Computer
Science.
Teaching assistants:
Malachi
Pust, mpust@ucsd.edu. APM 6402A.
Blandino Pasion, bpasion@ucsd.edu. Office TBA.
Office hours and course schedule.
Course
Organization. Info on the textbook and grading.
Lectures. I
am maintaining an outline of the topics covered in
lectures.
Webboard:
A Math 176 bulletin board is setup for general use at http://fire.ucsd.edu:1080/~ma176f. You
should be able to access it with your course account and password.
Final Exam info: Friday, December 8, 11:30-2:30.
Review session: 12:00-1:30, Wednesday, December 6. Center 214
(Next to usual lecture hall.)
Topics: Any topics from the lectures or assignments,
from the entire course, may appear on the final. More
detailed information about the final is available too. This is supplemented by
the midterm information in the next paragraph.
Midterm: Friday, November 3. In class.
Review session: at 5:00pm on Wednesday, November
1, in WLH 2205.
Topics: Any topics from the lectures or
assignments, up through binary heaps (but not leftist heaps or skew heaps), may appear on
the midterm. A list of topics and sample questions is available in PDF format and postscript format.
Answers: The answers
to the midterm problems are available online.
Programming assignments: Programming assignments are
covered by special Academic
Integrity Guidelines.
- Getting
started with the computers.
- Programming
homework #1. Threaded Avl Tree. Due Midnight, Friday, October 13.
The README and "style" grading standards are available on Malachi's Math176 page.
- Programming homework #2.
Hash Table with Linear Probing. Due Midnight, Friday,
October 27.
- Programming homework #3.
Connected Components (Union-FindMin). Due 6:00 PM, Friday,
November 10.
- Programming homework #4.
Core Component of a Text Search Engine Now due 4:00 PM, Thursday, November
30.
Reading assignments:
- September 22. Review/background reading: Read chapters 1-3.
You may skip pages 82-88 on processing postfix expressions. Also review
Appendices A & B. The appendices cover basics of Java and the Collections
package. You should understand the basics of how to use the
LinkedList
and TreeSet
classes. You should also understand the Comparable
class, and then look at the programming assignment #1 sample programs and understand the CountComparable
class.
- September 27. Begin reading Chapter 4, keeping up with the topics as
they are discussed in class.
- October 9. Finish reading Chapter 4. Begin reading Chapter 5,
keeping up with the lecture topics.
- October 23. Read Chapter 6, keeping up with the lecture topics.
- October 27. Start reading Chapter 8, keeping up with the lecture
topics.
- Read topics in the book as they are covered in class.
Written homework assignments.
- Due Wednesday, October 4. Problems from the text book
Answers now available: Pdf format and
Postscript format.
- Chapter 2: 2.1, 2.2, 2.7a, 2.28, 2.31.
- Chapter 3: 3.25a, 3.27, 3.29a.-c., 3.35.
For problem 2.2: for the three assertions that
are false, give counterexamples that show they are false.
- Due Friday, October 20. Problems from the text book. Answers now
available: Pdf format and Postscript format
- Chapter 4: 4.2, 4.4, 4.5, 4.31, 4.32, 4.37.
For the last three problems, assume the tree is
not threaded, and has null pointers to indicate the lack of a child.
Also assume there are no parent pointers, and use recursive calls.
- Due Monday, October 30. Problems from the text book. Answers
available in PDF format and postscript format.
- Chapter 5: 5.1, 5.4, 5.11, 5.12*.
Problem 5.12 is very tricky. It actually
works for avoiding initialization of any array.
- Due Monday, November 13. (Note changed due date.) Problems from the
text book.
- Chapter 6: 6.2, 6.8, 6.10 a -- these do not need to be handed in. Answers
available: Problem 6.2 as HTML and
problems 6..8 and.610a in both PDF format
and postscript format.
- Chapter 6: 6.10b, 6.18a,b,c, 6.20, 6.23, 6.27. - These need to be handed in.
Problem 6.30 is no longer part of this homework assignment.
Answers available: for Problems 6.20 and 6.27 in
html format. For problems 6.10b, 6.18, 6.23 in PDF
format and in postscript format.
- Due Friday, December 1. Problems
posted on the web.
Answers available on the web
too.
- Not due, but recommend to do: Huffman
encoding problem. The answer is
available on the web too.
Java Source code is available on
ieng9