The PDF covers the following
topics related to Computer Algorithms : Discrete Algorithms, Minimum
Spanning Trees, Arborescences: Directed Spanning Trees, Dynamic
Algorithms for Graph Connectivity, Shortest Paths in Graphs,
Low-Stretch Spanning Trees, Graph Matchings I: Combinatorial
Algorithms, Graph Matchings II: Weighted Matchings, Graph Matchings
III: Algebraic Algorithms, The Curse of Dimensionality, and
Dimension Reduction, Dimension Reduction and the JL Lemma, Streaming
Algorithms, Dimension Reduction: Singular Value Decompositions, From
Discrete to Continuous Algorithms, Online Learning: Experts and
Bandits, Solving Linear Programs using Experts, Approximate
Max-Flows using Experts, The Gradient Descent Framework, Mirror
Descent, The Centroid and Ellipsoid Algorithms, Interior-Point
Methods, Combating Intractability, Approximation Algorithms via SDPs,
Online Algorithms, Additional Topics, Prophets and Secretaries.
This note covers the following topics: Design and
analysis of algorithms, Growth of Functions, Recurrences, Solution
of Recurrences by substitution, Recursion tree method, Master
Method, Worst case analysis of merge sort, quick sort and binary
search, Design and analysis of Divide and Conquer Algorithms, Heaps
and Heap sort, Priority Queue, Lower Bounds for Sorting, Dynamic
Programming algorithms, Matrix Chain Multiplication, Elements of
Dynamic Programming, Longest Common Subsequence, Greedy Algorithms,
Activity Selection Problem, Elements of Greedy Strategy, Fractional
Knapsack Problem, Huffman Codes, Graph Algorithm - BFS and DFS,
Minimum Spanning Trees, Kruskal algorithm, Prim's Algorithm, Fourier
transforms and Rabin-Karp Algorithm.
This note explains the following topics: Growth of functions, Basic
data structures, Sorting and Selection, Fundamental techniques, Dynamic
programming and Graphs, Graph algorithms, NP-Completeness and approximation
algorithms, Randomized Algorithms.
Distributed algorithms
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.
This note
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.
The field of approximation algorithms has
developed in response to the difficulty in solving a good many optimization
problems exactly. This note will present general techniques that underly these
algorithms.