# COP-3530, Data Structures Lectures

- May 11: Administrivia and Java Review
- Read Chapters 1 - 4, Sections 7.1 to 7.3, and the Appendix, most of which is review material.
- Packages, interfaces, iterators

- May 13 and 18: Java Review Continued
- Dynamically expanding arrays and
`ArrayList` (Section 2.4)
- StringBuffers (see TestString.java)
- Nested, local, and anonymous classes (Section 4.7)
- Inner Classes (Section 6.2, 15.1, 15.2)
- Function Objects (Section 4.7)
- Supplement to Ch 4 code: CompareTestDefault.java
shows default comparator idea.

- May 20: The Collections API
- Read Chapter 6
- The Collections API
- Linked list review
- Sets
- Maps
- Iterators
- Assignment #2 discussion

- May 25, 27, June 1: Algorithm Analysis
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples

- June 3 and 8: More Algorithm Analysis
- Single-operation costs
- Singly, and doubly linked lists
- Logarithms
- Binary search
- Recursion review
- Divide and conquer (Section 7.5)
- Mergesort (Section 8.5)
- Discussion of Assignment #3

- June 10: Stacks, Queues, Linked Lists
- June 15 and 17: Binary search trees
- Insertion, find, deletion

- June 22: Midterm
- June 24: Miscellaneous
- Discussion of midterm
- Quiz #3
- Discussion of assignment #4

- June 29: AVL Trees
- July 6, 8, 13: Dijkstra's Algorithm, Unweighted Shortest Paths,
and Priority Queues
- Read Section 14.3
- Read Chapter 21
- Discussion of Assignment #5
- Applet demo #1 (Dijkstra's algorithm)

- July 15, 20, 22: Sorting
- Read Chapter 8
- Heapsort
- Quicksort
- Lower bounds for sorting

- July 27, 29, and Aug 3: Hash Tables
- Chapter 20 and 6.7.2.
- Discussion of Java 1.2 Collections API:
`HashSet`, `HashMap`, `equals`,
and `hashcode`
- Evaluations

- Aug 5: Miscellaneous Stuff and review: making things faster in practice
- Last quiz
- Catch up on earlier topics
- Speeding up quicksort some more
- Discussion of Assignment #3: Reducing algorithm running time from
1 second to about 0.05 sec.
- Discussion of Assignment #5: Reducing algorithm running time from
2-3 minutes to about 5-10 sec.
- Java 1.5

- August 10: No class
- August 12: Second exam