CSE 2320
is the introductory course in algorithms and data structures. This page
provides access to documents and code for the course.
Documents
- Preliminary Fall 2006 Syllabus
PDF, doc
- Notes 1 - Algorithmic Concepts
PDF, doc (updated 08/15/06)
- Notes 2 - Growth of Functions
PDF, doc (updated 08/28/06)
- Notes 3 - Summations
PDF, doc (updated 08/17/06)
- Notes 4 - Recurrences
PDF, doc (updated 09/19/06)
- Notes 5 - Heaps and Priority Queues
PDF, doc (updated 09/09/06)
- Notes 6 - Sorting
PDF, doc (updated 09/16/06)
- Notes 7 - Stacks & Queues
PDF, doc (updated 09/26/06)
- Notes 8 - Linked Lists
PDF, doc (updated 09/29/06)
- Notes 9 - Rooted Trees
PDF, doc (updated 10/02/06)
- Notes 10 - Red-Black Trees
PDF, doc (updated 10/07/06)
- Notes 11 - Hashing
PDF, doc (updated 10/19/06)
- Notes 12 - Graph Representations and Search
PDF, doc (updated 10/22/06)
- Notes 13 - Minimum Spanning Trees
PDF, doc (updated 11/01/06)
- Notes 14 - Shortest Paths
PDF, doc (updated 11/06/06)
- Notes 15 - Network Flows and Bipartite Matching
PDF, doc (updated 11/12/06)
- Notes 16 - Dynamic Programming
PDF, doc (updated 11/20/06)
- Notes 17 - Greedy Algorithms
PDF, doc (updated 11/24/06)
- Notes 18 - KMP String Search
PDF, doc (updated 12/06/06)
-
PDF of HW 1
- HW 1 answers
PDF, doc (updated 08/20/04)
-
PDF of HW 2
- HW 2 answers
PDF, doc (updated 11/20/04)
-
PDF of HW 3
- HW 3 answers
PDF, doc (updated 10/22/04)
- Summer 06 exam questions
PDF, doc
- Spring 06 exam questions
PDF, doc
- Fall 05 exam questions
PDF, doc
- Summer 05 exam questions
PDF, doc
- Fall 04 exam questions
PDF, doc
- Summer 04 exam questions
PDF, doc
- Fall 03 exam questions
PDF, doc
-
PDF of Summer 03 exam questions
-
PDF of Fall 02 exam questions
-
PDF of Summer 02 exam questions
-
PDF of Spring 02 exam questions
-
PDF of Spring 01 exam questions
-
PDF of Spring 00 exam questions
-
PDF of Spring 99 exam questions
- Red-Black Tree Cheat Sheet
PDF, doc
-
Analysis of Hashing
Programming Assignments
- Lab 1 assignment
PDF, doc
- Lab 2 assignment
PDF,
doc (lab2fall06.1.dat,
lab2fall06.2.dat,
lab2fall06.3.dat,
lab2fall06.4.dat,
lab2fall06.5.dat,
lab2fall06.6.dat)
- Lab 3 assignment
PDF, doc
(uniqueTemplate.c)
- Lab 4 assignment
PDF, doc
(
lab4fall06.dat,
lab4fall06.out,
dijkstraHeap.cpp,
minHeap.h,
minHeap.cpp
)
Code
-
Insertion sort code
-
Shellsort code (not covered)
-
Mergesort code
-
Binary search code
-
Binary search code - for tables with duplicate keys
-
Binary search code - for tables with duplicate keys (uses bsearch())
- Binary Search Example from 1/24
code,
input,
output
-
matmult.c
- C++ code for min heap
minHeap.cpp,
minHeap.h
-
C code to trace quicksort partitioning routine
-
C code for quicksort
-
A couple of examples for using qsort()
-
Input to the examples for using qsort()
-
Selection problem using sorting or partitioning.
-
Find k largest elements using sorting or partitioning.
- Rat in a maze -
Recursive: ratDFSrec.c
Stack: ratDFSstack.c
Queue: ratBFSqueue.c
Inputs: rat9.9.dat,
rat15.15.dat,
rat19.19.dat,
rat39.39.dat
-
Circular list C code
- C++ code for free/allocated abstraction
circularFree.cpp,
circularFree.h
-
Miscellaneous C code from overhead slide on hashing
-
Depth-first search C code (directed)
-
Input to depth-first search
-
PDF of diagram for input to depth-first search
-
Depth-first search C code (undirected)
-
Kosaraju's Strong Components Using DFS C code (directed)
- Prim's Minimum Spanning Tree;
Example in Notes 13: notes13.dat
Memoryless: primMemoryless.c
Table: primTable.c
Heap: primHeap.cpp
(minHeap class: minHeap.h,
minHeap.cpp)
- Dijkstra's Shortest Path;
Example in Notes 14: notes14.dat
Memoryless: dijkstraMemoryless.c
Table: dijkstraTable.c
Heap: dijkstraHeap.cpp
(minHeap class: minHeap.h,
minHeap.cpp)
-
Warshall's algorithm C code (path recovery using successors)
-
Warshall's algorithm C code (path recovery using predecessors)
-
Warshall's algorithm C code (path recovery using transitive vertex)
-
Input to Warshall code
-
Floyd-Warshall algorithm C code
-
Input to Floyd-Warshall code
-
Ford-Fulkerson C code - adjacency matrix
-
Ford-Fulkerson C code - adjacency lists
-
C code for optimal matrix multiply (dynamic programming)
- C code for hotel-to-airport shuttle
explicit traceback,
implicit traceback
-
C code for weighted interval scheduling
-
Input case 1 (see Notes 16) for weighted interval scheduling
-
Input case 2 for weighted interval scheduling
-
Input case 3 for weighted interval scheduling
-
C code for longest common subsequence (dynamic programming)
-
C code for unit-time scheduling (greedy)
-
Unit-time scheduling input 1
-
Unit-time scheduling input 2
-
C code for KMP string search
Links
Last Updated: 12/16/06