# CSE 373: Data Structures and Algorithms

## Winter 2006 - The Minimalist Web site

### Course Information

Syllabus

Office hours: Perkins CSE 548, MW, 3:40(aprox.) - 4:30;
Roseman CSE 320, Tue 2:30-3:30; Yngve CSE 218, Th 11-1.

### Communication

CSE 373 discussion board

### Homework

Homework 1 due Thursday
1/12 at 11 pm. (Online turnin form)

Homework 2 programming due Thursday, 1/19
at 11 pm; written problems due in class, Friday, 1/20. (Online
turnin form)

Homework 3 programming due Thursday, 1/26
at 11 pm; written problems due in class, Friday, 1/27.
(Online turnin form)

Homework 4
programming Part 1 due
Thursday, 2/16
at 11 pm; written problems Part 1 due in class, Friday, 2/17.
(Online turnin form)

programming Part 2 due
Thursday, 2/23
at 11 pm; written problems Part 2 due in class, Friday, 2/24.
(Online turnin form)

Homework 5 programming due
Thursday, 3/2 at 11 pm; written problems due in class, Friday, 3/3.
(Online turnin form)

Homework 5b programming due
Thursday, 3/9 at 11 pm; written problems due in class, Friday, 3/10.
(Online turnin form)

### Exams

Midterm 1: topics exam sample
solution

Midterm 2: topics exam sample
solution

Final: topics exam sample
solution

### Class Materials

- Jan 4: Introduction slides
- Jan 6: Containers, Array Lists, and Java slides
code: BasicList BasicListIterator BasicArrayList
- Jan 9: Linked lists and testing; JUnit slides code:
BasicLinkedList BasicLinkedListTest
- Jan 11: Complexity theory review slides
- Jan 13: Complexity theory (no slides)
- Jan 18: Complexity theory wrapup, amortized analysis of arraylists; review
of trees (no slides)
- Jan 20: Binary trees and binary search trees; hw3 (no slides)
- Jan 23:
BSTs and hw3; stacks
- Jan 25:
Stack implementations; queues
- Jan 27:
Introduction to balanced trees
- Jan 30:
**Midterm 1**
- Feb 1:
Balanced trees and AVL trees (slides)
- Feb 3:
Balanced trees cont.; AVL trees
- Feb 6:
Splay trees
- Feb 8:
Multiway and 2-4 trees
- Feb 10:
2-4 trees; red-black trees
- Feb 13:
Red-black trees concl.; maps and hashing (intro)
- Feb 15:
Hashing (Gary's notes)
- Feb 17:
Hashing (concl)
- Feb 22:
Graphs
- Feb 24:
Graph algorithms
- Feb 27:
**Midterm 2**
- Mar 1:
More graph algorithms
- Mar 3:
Graph algorithms
- Mar 6:
MSTs
- Mar 8: Searching & sorting
- Mar 10 Sorting & course wrapup

Final exam: Tuesday, Mar. 14, 2:30 pm.