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[current-sized-problem] = D[smaller-sized-problem]
-
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