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.

  1. Getting started with the computers.
  2. Programming homework #1.  Threaded Avl Tree.  Due Midnight, Friday, October 13.   The README and "style" grading standards are available on Malachi's Math176 page.
  3. Programming homework #2.   Hash Table with Linear Probing.  Due Midnight, Friday, October 27.
  4. Programming homework #3.   Connected Components (Union-FindMin).  Due 6:00 PM, Friday, November 10.
  5. Programming homework #4.   Core Component of a Text Search Engine  Now due 4:00 PM, Thursday, November 30.

Reading assignments:

  1. 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.
  2. September 27. Begin reading Chapter 4, keeping up with the topics as they are discussed in class.
  3. October 9. Finish reading Chapter 4.  Begin reading Chapter 5, keeping up with the lecture topics.
  4. October 23.  Read Chapter 6, keeping up with the lecture topics.
  5. October 27.  Start reading Chapter 8, keeping up with the lecture topics. 
  6. Read topics in the book as they are covered in class.

Written homework assignments.

  1. Due Wednesday, October 4. Problems from the text book   Answers now available: Pdf format and Postscript format.
    1. Chapter 2:  2.1, 2.2, 2.7a, 2.28, 2.31.
    2. 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.
  2. Due Friday, October 20. Problems from the text book.  Answers now available: Pdf format and Postscript format
    1. 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.
  3. Due Monday, October 30. Problems from the text book.  Answers available in PDF format and postscript format.
    1. 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.
  4. Due Monday, November 13. (Note changed due date.) Problems from the text book.
    1. 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.
    2. 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.
  5. Due Friday, December 1.  Problems posted on the web.
        Answers available on the web too.
  6. Not due, but recommend to do: Huffman encoding problem.  The answer is available on the web too.

Java Source code is available on ieng9