Algorithms and algorithm efficiency; big-O, big-Ω, big-Θ and little-o notation; average and worst-case speed; sorting algorithms; graphs, adjacency and incidence matrices; paths; connectedness; bipartite graphs; isomorphism; Euler and Hamilton paths; shortest paths; Dijkstra's algorithm; planarity; Euler's formula; graph coloring; trees; tree traversal; prefix, infix and postfix notation; spanning trees and minimum spanning trees (Prim, Kruskal). Formal languages, finite state machines and automata may also be discussed. Only offered in spring semester and summer II session.
MATH 163 with a grade of "C" or better