# COP-3530, Data Structures Lectures

- May 7: Administrivia
- May 7, 9, 14: Java Review
- May 16, 21: The Collections API
- CODE FROM MAY 21
- Read Chapter 6
- The Collections API
- Linked list review
- Sets
- Maps
- Iterators
- Assignment #2 discussion

- May 23, 30: Algorithm Analysis
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples

- June 4, 6: Recursion
- Recursion review
- Divide and conquer (Section 7.5)
- More recursion examples Recursion.java
- Discussion of Assignment #3

- June 11, 13: More Algorithm Analysis
- Single-operation costs
- Singly, and doubly linked lists
- Logarithms
- Binary search
- Mergesort (Section 8.5)
- Divide-and-conquer analysis

- June 18, 20: Linked Lists
- Implementation of
`java.util.LinkedList`
- Read Chapter 17

- June 25: Midterm
- June 27, July 2: Binary search trees
- June27.java source code from class.
- Insertion, find, deletion
- size, height, toString
- Implementation of contains and add

- July 9: AVL Trees
- July 11 and 16: Shortest Paths
- Read Section 14.3
- Discussion of Assignment #5

- July 18 and 23: Priority Queues
- July 25 and Aug 1: Hash Tables
- Chapter 20 and 6.7.2.
- Discussion of Java 1.2 Collections API:
`HashSet`, `HashMap`, `equals`,
and `hashcode`

- July 30: Class cancelled due to emergency.
- Aug 8: Second Exam