Date

Topic

Subtopics

Reading in CLRS

Monday, Aug. 24

Algorithm Analysis

analysis of nested loops

Chapter 1, pp. 1-28

Wednesday, Aug. 26

linked lists

search, insert, delete; single/double links

Chapter 10, section 2

Monday, Aug. 31

linked lists, continued

sparse matrices

Chapter 10, section 3

Wednesday, Sept. 2

no class--instructor furlough day

 

 

Monday, Sept. 7

Labor Day holiday, no class

 

 

Wednesday, Sept. 9

Growth of functions

O-notation, logarithms

Chapter 3

Monday, Sept. 14

binary search trees

Minimum, maximum, search, successor, insert, delete. See TreeSearch.java for implementations. To run the main in that file you'll need cookShort.txt, an excerpt from Captain Cook's journal. To see what happens making a larger tree, use the large file cook.txt instead.

Chapter 12, pp. 252-264

Wednesday, Sept. 16

Red-black trees

 

Chapter 13

Monday, Sept. 21

Review for midterm exam

 

 

Wednesday, Sept. 23

First midterm exam

 

 

Monday, Sept. 28

Analyzing recursion using recurrences

Analysis of merge sort

Chapter 2 pp. 28-36

Wednesday, Sept. 30

Solving recurrence relations

faster than quadratic multiplication

Chapter 4, pp. 67-75

MW, Oct 5-7

no class, instructor illness

 

Chapter 7, sections 1 and 2

Monday, Oct. 12

breadth first search

Bob's way home. Example inputs.

Chapter 22, pp. 527-539

Wednesday, Oct. 14

depth-first search

 missionaries and cannibals

Chapter 22, pp. 527-539

Monday, Oct. 19

no class--instructor furlough day

 

 

Wednesday, Oct. 21

heaps

Heapsort, priority queues

Chapter 22, pp. 540-549

Monday, Oct. 26

Single-source shortest path algorithm for non-negative weights

Dijkstra's algorithm

Chapter 24

Wednesday, Oct. 28

Quick sort

 

Chapter 7, sections 1 and 2

Monday, Nov. 2

Review for second midterm

 

 

Wednesday, Nov. 4

second midterm exam

 

 

Monday, Nov. 9

Google PageRank algorithm

 

 

Wednesday, Nov. 11

Veteran's Day holiday, no class

 

 

Monday, Nov. 16

second midterm exam (rescheduled)

 

 

Wednesday, Nov. 18

dynamic programming

Needleman-Wunsch algorithm

These notes and Chapter 15

Monday, Nov. 23

Bellman-Ford algorithm

Single-source shortest path algorithm that works with negative weights

Chapter 24, pp. 588-592

Wednesday, Nov. 25

no class--instructor furlough day

 

 

Monday, Nov. 30

Minimal Spanning Tree algorithms

Prim's and Kruskal's algorithms

 

Wednesday, Dec. 2

B-trees

B-tree insertion algorithm

 

Monday, Dec. 7

Review for final exam