# COP-3530, Data Structures Lectures

- January 8: Administrivia and Java Review
- Read Chapters 1 - 4, Sections 7.1 to 7.3, and the Appendix, most of which is review material.
- Function Objects (Section 4.7)

- January 10: Java Review Continued
- Dynamically expanding arrays and
`ArrayList` (Section 2.4)
- StringBuffers (see TestString.java)
- Nested, local, and anonymous classes (Section 4.7)
- Supplement to Ch 4 code: CompareTestDefault.java
shows default comparator idea.

- January 15: The Collections API
- Read Chapter 6
- The Collections API
- Iterators and Inner Class (Section 6.2, 15.1, 15.2)
- Linked list review
- Sample program: SortedArrayList.java
(uses default comparator also).
- Sample program: Concordance.java

- January 17: Collections API continued
- Discussion of Assignment #2
- Comparators and treesets
- Maps

- January 22: Quiz and More Assignment #2
- January 24, 29, 31: Algorithm Analysis
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples
- Single-operation costs
- Singly, and doubly linked lists
- Logarithms
- Binary search

- February 5 and 7: Stacks, Queues, Unweighted shortest paths
- Quiz
- Discussion of Assignment #3, including serialization
- Read Chapter 16
- Scan the start of Chapter 14

- February 12 and 14: Recursion
- Read Sections 7.1 to 7.3 and 7.5
- Recursion basics
- Divide and conquer (Section 7.5)
- Mergesort (Section 8.5)

- February 19 and 21: Binary search trees
- Insertion, find, deletion

- February 26: Midterm
- February 28: Linked lists again
- Discussion of Assignment #4

- March 5: AVL Trees
- March 7, 12, 14: Dijkstra's Algorithm and Priority Queues
- Read Section 14.3
- Read Chapter 21
- Applet demo #1 (Dijkstra's algorithm)

- March 19, 21: Spring Break!!
- March 26, 28: Sorting
- Read Chapter 8
- Heapsort
- Lower bounds for sorting
- Quicksort

- April 2 and 4: Hash tables
- Read Chapter 20
- Discussion of Java 1.2 Collections API:
`HashSet`, `HashMap`, `equals`,
and `hashcode`

- April 9 and 11: Disjoint Sets
- Read Chapter 24, but stop before Section 24.6

- April 16: Review
- April 18: No class (if above schedule holds)