are algorithms designed to run on multiple processors, without tight centralized
control. Topics covered includes: Variations in model assumptions, Top-level
organization is by the timing model, Synchronous model, Asynchronous model,
Partially synchronous model, Synchronous networks.
introduces students to advanced techniques for the design and analysis of
algorithms, and explores a variety of applications. Topics covered includes:
Greedy algorithms, Dynamic programming, Network flow applications, matchings,
Randomized algorithms, Karger's min-cut algorithm, NP-completeness, Linear
programming, LP duality, Primal-dual algorithms, Semi-definite Programming, MB
model contd., PAC model, Boosting in the PAC framework.
explains the following topics: Stable Matchings, Algrithm Design by Induction,
Graphs, Trees or BFS, Connected Comps/Bipartite Graphs, DFS or Topological
Ordering, Interval Scheduling, Interval Partitioning, MST, MST, Union find,
Closest Points, Master Theorem, Integer Multiplication, Median, Vertex Cover or
Set Cover, Network Connectivity, Image Segmentation, Reductions,
NP-Completeness, Linear Programming.
note will examine various data structures for storing and accessing information
together with relationships between the items being stored, and algorithms for efficiently
finding solutions to various problems, both relative to the data structures and
queries and operations based on the relationships between the items stored.
Topics covered includes: Algorithm analysis, List, stacks and queues, Trees and
hierarchical orders, Ordered trees, Search trees, Priority queues, Sorting
algorithms, Hash functions and hash tables, Equivalence relations and disjoint
sets, Graph algorithms, Algorithm design and Theory of computation.