Satisfyability, NP completeness proofs Read CLR Sections 36.4 and 36.5 Read CLR Sections 36.2 and 36.3
Cycle problems in graphs (Eulerian, Hamiltonian, Travelling Sales) Reference: CLR section 36.5
All pairs shortest path algorithms. Read CLR Sections 26.1 and 26.2
Single source shortest path (Dijkstra's algorithm). Read CLR Sections 25.1 and 25.2
The Union-find data structure for disjoint sets. Read CLR Chapter 22
Kruskal's and Prim's algorithms for MST
Minimum Spanning Trees in weighted graphs. Read CLR Chapter 24
Depth first search and Breadth first search Read CLR Chapter 23
Synthetic division
for
Division with remainder,
last key topic for RSA Public Key Encryption.
Some multiple choice questions on arithmetic
Primality testing and Matrix multiplication. Read CLR Section 31.2,
Public Key Encryption (RSA) Read CLR Sections 33.6 and 33.7.
Polynomials and integers: FFT Read CLR Sections 32.1 and 32.2.
Divide and conquer arithmetic for matrices, polynomials and integers. Read CLR pages 776-777 of Chapter 32, and problem 32-1.
midterm exam review guide , the exam itself.
Balanced Binary Trees Read CLR Chapter 13.
and
Red-Black Trees Read CLR Chapter 14.
B-Trees Read CLR Chapter 19.
Hash Tables. Read CLR Chapter 12.
Discussion: going from asymptotic analysis to runtime predictions.
Dictionary preliminaries. Read CLR Part III intro
Solving Recurrences Read CLR Sections 4.3.
Dictionary preliminaries. Read CLR Part III intro
representing trees. Read CLR Section 11.4
Order Statistics, Read CLR Sections 10.1, 10.2. code
It doesn't get any better than this: A limit for sorting speed. Read CLR Section 9.1
Introspective Sort - effectively combining QuickSort, HeapSort, and InsertSort.
Quick Sort Read CLR Chapter 8 (excluding 8.4.2).
Heap Sort, a worst case cost analysis, solving some sums. Read CLR Chapter 7, scan chapter 3.
Summary on analysis using insertionSort and mergeSort examples.
Scan Chapters 3 and 4. For program examples go to
~saunders/public_html/320/sorting on a composer.
Merge Sort, solving recurrences. Reading: Finish CLR Chapter 1.
Intro, syllabus handed out, Insertion Sort.
Read CLR Chapter 1, Scan CLR Chapters 2, 3.
About generic programming in C++, read the Standard Template Library and
the STL Documentation at SGI .
HW assignment 7 = project phase 1 :: RSA Project final phase handout , writeup guidelines . Project Description .
HW assignment 6: Exercise 23.3-2, 23.5-2, Project Milestone 1: Implement add, sub, and addmod. Report times of encryption using keys of length 8, 16, 32, where addmod is used in place of expmod. Key files and Crypttext files will be provided in 320/rsaproject/.
HW assignment 5: Exercise 32.1-1, 32.1-2 (Hint: Horner's rule to compute A(xo), and go from there.) Problem B - Write a multiple choice question (and answer) on section 32.1. Extra Credit: Exercise 32.1-6
HW assignment 4: Exercise 12.4-1 (linear probing and double hashing only (skip quadratic)). Exercise 12.4-2, Repeat Homework #3 problem 3, but use qSortTestMain.cc in place of quickSortTestMain.cc. qSortTestMain.cc generates different random test data.
HW assignment 2: Exercise 7.5-3, 7.5-4, 8.3-2, Extra Credit: Problem 8-3 (Stooge Sort)
HW assignment 1: Exercise 1.3-4, 1.3-5, Problem 1-1, Problem A: 10^3 nanoseconds is a microsecond, 10^6 nanoseconds make a millisecond, 10^9 for a second, and 10^12 nanoseconds is about 17 minutes (or about a quarter hour). Express 10^15 and 10^18 nanoseconds each approximately in a convenient unit. Express the following numbers of nanoseconds each approximately in a convenient unit: 2^30, 2^40, 2^50 nanoseconds.