# COP-3530, Data Structures Lectures

- May 3: 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
- Dynamically expanding arrays and
`ArrayList` (Section 2.4)
- StringBuffers
- Function Objects (Section 4.7)
- Nested, local, and anonymous classes (Section 4.7)
- Inner Classes (Section 6.2, 15.1, 15.2)
- Assignment #1 discussion
- MAY 3 CODE:
Assign1.java
Set.java
BogusSet.java

- May 5: The Collections API
- MAY 5 CODE (BogusSet/iterators/etc):
Assign1.java
Set.java
BogusSet.java
-- please note the BogusSet add is not sorted, the iterator doesn't have all
needed tests, other methods are missing, toArray is added, etc.
- MAY 5 CODE: Various collection code
you'll have to uncomment what you need.
- MAY 5 CODE: Generate a cross-reference contains same ideas as Assignment #2
- Read Chapter 6
- The Collections API
- Linked list review
- Sets
- Maps
- Iterators
- Assignment #2 discussion

- May 10: Recursion
- Recursion review
- MAY 10 CODE: Recursion.java
- Discussion of Assignment #3

- May 12: Algorithm Analysis
- Quiz #1
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples
- Single-operation costs

- May 17: More Algorithm Analysis
- Singly, and doubly linked lists
- MyLinkedListDemo.java: linked list code from class.
- Logarithms
- Binary search
- Divide-and-conquer analysis

- May 19: Binary Search Trees + Quizzes #2 and #3.
- Read appropriate parts of Chapter 19
- Insertion, find, deletion
- size, height, toString
- Implementation of contains and add

- May 24: Binary search trees
- May 26: More Binary Search TxirRees and AVL Trees
Read Section 19.5
- AVL trees

- May 31: Memorial Day, No class
- June 2: Shortest Paths
- Read Section 14.3
- Discussion of Assignment #5

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

- June 9: Priority Queues and Sorting
- Read Chapter 21 for binary heaps
- Read Chapter 8
- Heapsort
- Lower bounds for sorting

- June 14: Quicksort and Review
- June 16: Final Exam + Quizzes 4-6.