Topics for Exam #2, Tuesday 4/3
You are allowed to use one page of notes (both sides, 8.5 X 11) with anything
you would like to put on it for the test. You can
also use a calculator if you wish. Aside from those materials, no
other books or notes are allowed. The test will cover graphs, complexity,
and dynamic programming.
Graphs

Basic concept, edges, vertices, relationship

Breadth First Search

Algorithm, Purpose, space/time behavior

Run on a graph, be able to identify when it may be useful

Use to detect a bipartite graph

Depth First Search

Algorithm, Purpose, space/time behavior

Run on a graph, be able to identify when it may be useful

Detecting cycles

DAG, Directed Acyclic Graph

Minimum Spanning Tree

Dijkstra's Shortest Path Algorithm

Limitations

Runtime

Demonstrate on a graph
P/NP
Dynamic Programming

Idea of optimal substructure

Come up with the dynamic programming solution; e.g. a
D[currentsizedproblem] = D[smallersizedproblem]

There are no specific questions that ask you to demonstrate exactly one
of the following, but it will be helpful to understand how these work as
examples to solve the test problem