COP-3530, Data Structures Lectures
- May 10, 12, 17, 19: 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
- Nested, local, and anonymous classes (Section 4.7)
- Inner Classes (Section 6.2, 15.1, 15.2)
- SAMPLE CODE, SHOWS ARRAY DOUBLING AND ITERATORS: Container.java
and ContainerTest.java.
- SAMPLE CODE, WHAT I TYPED ON MAY 17: May17.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
- Using generic classes
- Boxing and unboxing
- Enhanced for loop
- Writing generic classes
- May 24: No class
- May 26 and 31: The Collections API
- Read Chapter 6
- The Collections API
- Linked list review
- Sets
- Maps
- Iterators
- Assignment #2 discussion
- June 2, 7, 9, 14: Algorithm Analysis
- Read Chapter 5
- Big-Oh
- Maximum subsequence sum examples
- Single-operation 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
- June 16: Linked Lists
- Implementation of java.util.LinkedList
- Read Chapter 17
- June 21, 23, 30: Binary search trees
- Insertion, find, deletion
- size, height, toString
- Implementation of contains and add
- June 28: Midterm
- July 5: AVL Trees
- July 7 and 12: Shortest Paths
- Read Section 14.3
- Discussion of Assignment #5
- Applet demo #1 (Dijkstra's algorithm)
- July 14, 19, and 21: Priority Queues
- July 21, 26, 28: Hash Tables
- Chapter 20 and Section 6.7.2.
- Discussion of Java 1.5 Collections API:
HashSet, HashMap, equals,
and hashcode
- August 2 and 4: Sorting
- Read Chapter 8
- Heapsort
- Quicksort
- Lower bounds for sorting
- August 9: Review
-
August 11: Final Exam