# COP-3530, Data Structures Lectures

- May 4: Administrivia
- May 4, 6, 11: Java Review
- May 13, 18: The Collections API
- CODE FROM MAY 18
- Read Chapter 6
- The Collections API
- Linked list review
- Sets
- Maps
- Iterators
- Assignment #2 discussion

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

- May 25: Memorial Day... No Class
- June 3, 8: Recursion
- June 10, 15: More Algorithm Analysis
- Single-operation costs
- Singly, and doubly linked lists
- Day11.java: linked list code from class.
- Logarithms
- Binary search
- Mergesort (Section 8.5)
- Divide-and-conquer analysis

- June 17: Midterm
- June 22, 24: Binary search trees
- Day13.java source code from class.
- Insertion, find, deletion
- size, height, toString
- Implementation of contains and add

- June 29: AVL Trees
- July 1, 6, 8: Shortest Paths
- Read Section 14.3
- Discussion of Assignment #5

- July 13: Priority Queues
- July 15: Minimum Spanning Trees
- Read Chapter 24 (but not Section 24.6).

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

- July 27, 29: Hash Tables
- Chapter 20 and 6.7.2.
- Discussion of Java 1.2 Collections API:
`HashSet`, `HashMap`, `equals`,
and `hashcode`
- HashDemo.java sample code

- Aug 3: Review
- Aug 5: Final Exam