Computer Science 345

Data Structures and Algorithms
Spring 2015
Thomas VanDrunen



Meeting time: MWF 2:00-3:05 pm.
Meeting place: Science 131

Office hours: 9:15-10:15 MWThF (not Tu); 10:30-11:30 Tu; 1:30-3:30 Th
Contact: 163 Science; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cs.wheaton.edu/~tvandrun/cs345


Syllabus



Final exam: Thursday, May 6, 10:30 am


Moon's dayWoden' s dayFrigga's day

Jan 12

Prolegomena. Introduction
Pre-test

Reading for Friday

Jan 14

Introduction (1.1&2)

Jan 16

Abstract data types (1.3)

Project 1 (Basic ADTs), due 2/2.

Jan 19

NO CLASS

Jan 21

Union/find (1.5)

Jan 23

Algorithms and correctness (3.1)

Read 1.4 and email response

Jan 26

Algorithms and analysis (1.4)

Jan 28

Trees. Introduction to binary search trees (3.2)

Jan 30

Binary search trees

Feb 2

Heaps (2.4)

Project 1 due.
Pre-project reading
Project 2 (Heaps), due 2/6

Feb 4

Binary search trees

Review 3.1 and 3.2 as necessary; read pgs 424-431 from 3.3

Feb 6

Balanced trees

Project 2 due. Project 3 (Balanced Trees), due 2/23

Feb 9

Balanced trees: AVL trees

Feb 11

Balanced trees: Red-black trees (3.3)

Feb 13

Balanced trees: Left-leaning red-black trees

Feb 16

NO CLASS

Feb 18

Balanced trees: 2-3 trees (3.3)

Feb 20

Balanced trees: B-Trees (6 pg 866)

Feb 23

Review

Project 3 due.

Feb 25

TEST

Feb 27

Dynamic programming. Introduction

Project 4 (Dynamic programming), due 3/18

Mar 2

Concepts

Mar 4

Examples

Mar 6

More examples

Read Section 3.4 through pg 468; send summary as before

Mar 9

NO CLASS

Mar 11

NO CLASS

Mar 13

NO CLASS

Mar 16

No class: grading catch-up

Mar 18

Hashing. Intro, review, and separate chaining (3.4)

Project 4 due. Project 5, due 4/6

Mar 20

Hash functions

Mar 23

Open addressing--correctness

Mar 25

Open addressing--performance

Mar 27

Perfect hashing

Read Section 4.1: pg 518-534 and 4.2: pg 566-569, send typical summary

Mar 30

Graphs. Concepts (4.1&2)

Apr 1

Minimum spanning trees (4.3)

Apr 3

NO CLASS

Apr 6

Review

Project 5 due

Apr 8

TEST

Apr 10

Minimum spanning trees

Project 6, due 5/1

Apr 13

Shortest paths (4.4)

Apr 15

Shortest paths

Apr 17

Comparing the complexity of graph algorithms

Apr 20

Strings Radix sort; string sorting

Apr 22

String sorting

Apr 24

Tries (5.2)

Apr 27

Tries

Apr 29

String searching

May 1

Review

Projects 6 and 7 due.