COP3530, Data Structures Lectures
 Jan 11, 13, 18, (20 or 25): Administrivia, Java Review, and Java 1.5
 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)
 Nested, local, and anonymous classes (Section 4.7)
 Inner Classes (Section 6.2, 15.1, 15.2)
 SAMPLE CODE, WHAT I TYPED ON JAN 13: Container.java and
ContainerTest.java
 SAMPLE CODE, WHAT I TYPED ON JAN 18: Jan18.java.
Code illustrates basics of inheritance, uses of super, covariance of
arrays, use of Comparable and Comparator in Java 5,
generic methods, and autoboxing. Code is incomplete because generic types are
not covariant. More to come in the next lecture.
 Function Objects (Section 4.7)
 Java 1.5
 Jan 27 and Feb 1: The Collections API
 Read Chapter 6
 The Collections API
 Linked list review
 Sets
 Maps
 Iterators
 Assignment #2 discussion
 Feb 3: Algorithm Analysis
 Read Chapter 5
 BigOh
 Maximum subsequence sum examples
 Feb 8, 10, 15: More Algorithm Analysis
 Singleoperation costs
 Singly, and doubly linked lists
 Logarithms
 Binary search
 Recursion review
 Divide and conquer (Section 7.5)
 Mergesort (Section 8.5)
 Discussion of Assignment #3
 Code from Feb 15 lecture.
 Feb 17 and 22: Linked Lists
 Implementation of java.util.LinkedList
 Read Chapter 17
 Feb 24 and Mar 1: Binary search trees
 Insertion, find, deletion
 size, height, toString
 Implementation of contains and add
 Mar 3: AVL Trees
 Mar 8: Midterm
 Mar 10 and 15: Shortest Paths
 Read Section 14.3
 Discussion of Assignment #5
 Applet demo #1 (Dijkstra's algorithm)
 Mar 17: Priority Queues
 Mar 22 and 24: No class (Spring Break)
 Mar 29, 31, and Apr 5: Sorting
 Read Chapter 8
 Heapsort
 Quicksort
 Lower bounds for sorting
 Apr 7, 12, 14: Hash Tables
 Chapter 20 and 6.7.2.
 Discussion of Java 1.2 Collections API:
HashSet, HashMap, equals,
and hashcode
 Evaluations

Apr 26: Final Exam
Finals Week.