# COP-3530, Data Structures Lectures

- August 25: Administrivia
- August 25, 27, 29, Sep 3, 5: Java Review
- Sept 8, 10, 12, 15: The Collections API
- Sept 15, 17, 19: Algorithm Analysis
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples

- Sept 22, 24, 26, 29, Oct 1: Recursion
- Recursion review
- Divide and conquer (Section 7.5)
- Recursion example with a grid Recursion.java
- Discussion of Assignment #3

- Oct 3, 6, 8: More Algorithm Analysis
- Single-operation costs
- Singly, and doubly linked lists
- Logarithms
- Binary search
- Mergesort (Section 8.5)
- Divide-and-conquer analysis

- Oct 10: Quiz 3 and Review for Midterm
- Oct 13: Midterm
- Oct 15 and 17: Linked Lists
- Implementation of
`java.util.LinkedList`
- Read Chapter 17

- Oct 20, 23, 25: Binary search trees
- Insertion, find, deletion
- size, height, toString
- Implementation of contains and add

- Oct 27 and 29: AVL Trees
- Oct 31, Nov 3: Shortest Paths
- Read Section 14.3
- Discussion of Assignment #5

- Nov 5, 7, 10: Priority Queues
- Nov 12, 14, 17: Sorting
- Read Chapter 8
- Heapsort
- Quicksort
- Lower bounds for sorting

- Nov 19, 21, 24, 26: Hash Tables
- Chapter 20 and 6.7.2.
- Discussion of Java 1.2 Collections API:
`HashSet`, `HashMap`, `equals`,
and `hashcode`

- Nov 28: Thanksgiving... no class
- Dec 1, 3, 5: TBA
**FRI Dec 12 9:45 AM - 11:45 AM: FINAL EXAM**