Algorithms and Data Structures II
Advanced techniques for design, analysis, and implementation of algorithms and data structures with an introduction to algorithm engineering. Algorithmic design paradigms: greedy, divide-and-conquer, dynamic programming, backtracking, branch and bound. Advanced Analysis techniques, such as amortization. Advanced data structures: hashing, disjoint sets. Advanced graph algorithms: network flow, connectivity, minimum spanning trees, shortest paths. Mathematical tools: graphs and digraphs, graph properties, planar graphs, networks; discrete probability, counting techniques, recurrences.
- Credit will be granted for only one of CSC 226, CSC 326.