# COP-3530, Data Structures Lectures

- August 30: Administrivia
- Sept 1, 6, 8: Java Review
- SEP 1 CODE:
Assign1.java
Set.java
BogusSet.java
Although your mileage may vary, I generally only compile the test programs,
and let the system automatically find the classes in the packages.
So in class, I only compiled Assign1.java.
- SEP 6 CODE:
Assign1.java
Set.java
BogusSet.java
- SEP 8 CODE:
Assign1.java
Set.java
BogusSet.java
- Read Chapters 1 - 4, Sections 7.1 to 7.3, and the Appendix, most of which is review material.
- Packages, interfaces, iterators
- Dynamically expanding arrays and
`ArrayList` (Section 2.4)
- StringBuffers (see TestString.java)
- Function Objects (Section 4.7)
- Nested, local, and anonymous classes (Section 4.7)
- Inner Classes (Section 6.2, 15.1, 15.2)

- Sept 13 and 15, 22: The Collections API
- CODE FROM SEP 15/22
- Read Chapter 6
- The Collections API
- Linked list review
- Sets
- Maps
- Iterators
- Assignment #2 discussion

- NO CLASS Sep 22: Hurricane Rita
- Sep 20 and 27: Algorithm Analysis
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples

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

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

- Oct 13 and 18: Linked Lists
- Implementation of
`java.util.LinkedList`
- Read Chapter 17

- Oct 20: Midterm
- Oct 25 and 27: Hurricane Wilma
- Nov 1, 3, and 8: Binary search trees
- Insertion, find, deletion
- size, height, toString
- Implementation of contains and add

- Nov 10: AVL Trees
- Nov 15 and 17: Shortest Paths
- Read Section 14.3
- Discussion of Assignment #5
- Applet demo #1 (Dijkstra's algorithm)

- Nov 22: Priority Queues
- Nov 24: No class (Thanksgiving)
- Nov 29: Priority Queues continued
- Dec 1 and 6: Hash Tables
- Chapter 20 and 6.7.2.
- Discussion of Java 1.2 Collections API:
`HashSet`, `HashMap`, `equals`,
and `hashcode`
- Evaluations

- Dec 8 and 13: Sorting
- Read Chapter 8
- Heapsort
- Quicksort
- Lower bounds for sorting

- Dec 15: Second Exam