General Description Requirements Readings Topics Policies Schedule
COMS 3137: Data Structures and Algorithms

Data Structures and Algorithms

General Information

Instructor: Bert Huang. Office hours Monday 4-6 PM, CEPSR 624 (or by appointment)
TA: Priyamvad Deshmukh, UNI prd2112, Office Hours Wednesday 10 AM - 12 PM and Tuesday 3-5 PM
TA: Nikhil Ramesh, UNI nf2241, Office Hours Thursday 4 PM - 6 PM and Friday 10 AM - 12 PM
TA Office Hour Location: TA Room
Time: Monday and Wednesday 2:40 PM - 3:55 PM
Location: Mudd 633
Courseworks site (message board etc.):
Course Homepage (this page):


From the university bulletin: Data types and structures: arrays, stacks singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Design and analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following four courses: COMS W3133, W3134, W3137, and W3139.




(This list is not in any particular order, nor is it comprehensive. It should however provide an idea of what the course will cover.)

Course Policies


The course will have six homework assignments distributed throughout the semester. Each will be a combination of programming problems and written problems.

There will be a midterm exam and a final exam. Both will be closed book and closed notes.

The final grade will be a weighted sum of the following:

(This breakdown is subject to change, but the final percentages should be similar to the percentages listed above.)

Late Homework Policy

Any unexcused late homework submissions will be penalized 10% each day it is late. The penalty begins at the beginning of class the day the assignment is due. The 10% penalties will continue for 3 full days at which point no more late submissions will be graded. Avoid invoking these penalities by starting early and seeking extra help.

Academic Honesty

Read through the department's policies on academic honesty ( In this course all work is to be done individually.


If you found an error in grading, please type and print your argument on paper and deliver it to a TA. The TA will respond to your complaint and if there is still a disagreement, repeat the same written-argument process with the instructor and he will make a final decision on the disagreement.

Schedule of classes (tentative)

DateTopicLinks and Reading
Wed., Jan. 21First class. IntroductionSlides. Weiss, Sections 1 and 2
Mon., Jan. 26Algorithm Analysis, Big-OhWeiss, Sections 3.1-3.5. Homework 1 assigned. Slides
Wed., Jan. 28Linked ListsSlides. Graphing Package and CUNIX/Java info
Mon., Feb. 2Lists in JavaSlides. Weiss 3.6
Wed., Feb. 4StacksSlides. Weiss 3.7
Mon., Feb. 9QueuesHomework 1 due. Homework 2 assigned. Makefile. Slides. Weiss 4.1-4.2
Wed., Feb. 11TreesSlides. Weiss 4.3
Mon., Feb. 16Binary Search TreesSlides. Weiss 4.4
Wed., Feb. 18AVL TreesSlides. Weiss 4.5
Mon., Feb. 23Splay TreesHomework 2 due. Homework 3 assigned. Slides. Supplemental files for hw3
Wed., Feb. 25TriesSlides. Weiss 6.1-6.3. Tree Visualizer
Mon., Mar. 2Priority Queues ISlides. Weiss 6.4
Wed., Mar. 4Priority Queues IISlides. Weiss 7.5 (optional)
Mon., Mar. 9Midterm ReviewHomework 3 due. Slides
Wed., Mar. 11Midterm Exam
Mon., Mar. 16Spring Break
Wed., Mar. 18Spring Break
Mon., Mar. 23Huffman Coding TreesHomework 4 Assigned. Supplemental files for hw4. Weiss 10.1.2. Slides
Wed., Mar. 25Hashing ISlides. Weiss Ch. 5
Mon., Mar. 30More Hashing/Intro to GraphsSlides. Modified Hash Table, Weiss 9.1-9.2
Wed., Apr. 1Graphs: Shortest PathSlides (short version), Slides, Weiss 9.3 - 9.4
Mon., Apr. 6Graphs: Network FlowHomework 4 due. Homework 5 Assigned. Supplemental files for hw5, Slides. Weiss 9.5
Wed., Apr. 8Graphs: Spanning TreesSlides, (short version). Weiss 9.6, 9.7
Mon., Apr. 13Graphs: Harder ProblemsSlides. Weiss 9.7. Weiss Ch. 8
Wed., Apr. 15Disjoint SetSlides(Unfinished). Weiss Ch. 8
Mon., Apr. 20Disjoint Set Cont...Homework 5 due. Homework 6 Assigned. Supplemental files for hw6. Slides
Wed., Apr. 22Sorting ISlides
Mon., Apr. 27Sorting IISlides
Wed., Apr. 29Data Structures for Machine LearningSlides
Mon., May 4Final ReviewHomework 6 due. Slides