Data Structures: Lecture Notes

Lecture 1: Object Oriented Programming in Java. 1/28. Dale, Joyce and Weems, sections 1.3-1.6
Lecture 2: Abstract Methods and Interfaces 1/30. DJW section 2.1. Note: DJW does not discuss abstract methods
Lecture 3: Recursion. 2/4. DJW Chap. 4 except section 4.6.
Lecture 4: Generics. 2/6. DJW pp. 166-167.
Lecture 5: Linked Lists. 2/11. DJW Chap. 2
Lecture 6: More Lists. 2/13. DJW Chap 7, except 7.1
Lecture 7: More Lists; Stacks; Queues. DJW sections 3.1, 3.5 (stacks); 5.1, 5.3, 5.6 (queues); 6.7 (lists) 2/20.
Lecture 8: Hash tables. DJW section 10.6. 2/25.
Lecture 9: More on hash functions. 2/27
Second half of lecture 9. (Note: This will not be either on exams or problem sets.) Using Hashing for Large Sets of Large Objects
Lecture 10: Trees. 3/4. DJW section 8.1
Lecture 11: More Trees 3/6,
Lecture 12: Breadth-First Search. Binary Search Trees. 3/8,
3/13 -- 4/1: Review, mid-term, spring break, more review.
Lecture 13: Order of magnitude, worst-case, asymptotic run-time analysis. 4/3. DJW section 1.7
Lecture 14: Set Operations. Prefix and postfix notations. 4/8. Postfix notation is in DJW 3.8.
Lecture 14 continued: 4/8 Sorting. Elementary sorts and heapsort. DJW section 10.1, 10.2. Section 10.3 section 704-709.
Lecture 15: 4/10. Mergesort. DJW section 10.3 pp. 690-697
Lecture 16: Quicksort. DJW section 10.3 pp. 698-703
Lecture 17: Linear time sorts. Not in DJW.
Lecture 18: Comparables, DJW 6.1. Graphs
Lecture 19: Exception handling. DJW 168-173
Lecture 20: Iterators.
Lecture 21: 2-3 Trees.
Lecture 22: BTrees.