This note concentrates
on the design of algorithms and the rigorous analysis of their efficiency.
Topics covered includes: the basic definitions of algorithmic complexity, basic
tools such as dynamic programming, sorting, searching, and selection; advanced
data structures and their applications, graph algorithms and searching
techniques such as minimum spanning trees, depth-first search, shortest paths,
design of online algorithms and competitive analysis.
This note will cover
classic and modern algorithmic ideas that are central to many areas of Computer
Science. The focus is on most powerful paradigms and techniques of how to design
algorithms, and measure their efficiency. The topics will include hashing,
sketching, dimension reduction, linear programming, spectral graph theory,
gradient descent, multiplicative weights, compressed sensing, and others.
explains core material in data structures and algorithm design, and also helps
students prepare for research in the field of algorithms. Topics covered
includes: Splay Trees, Amortized Time for Splay Trees, Maintaining Disjoint
Sets, Binomial heaps, F-heap, Minimum Spanning Trees, Fredman-Tarjan MST
Algorithm, Light Approximate Shortest Path Trees, Matchings, Hopcroft-Karp
Matching Algorithm, Two Processor Scheduling, Network Flow - Maximum Flow
Problem, The Max Flow Problem and Max-Flow Algorithm.
In computer science, an
algorithm is a self-contained step-by-step set of operations to be performed.
Topics covered includes: Algorithmic Primitives for Graphs, Greedy Algorithms,
Divide and Conquer, Dynamic Programming, Network Flow, NP and Computational
Intractability, PSPACE, Approximation Algorithms, Local Search, Randomized
this note is to teach you to program in the C programming language, and to teach
you how to choose, implement, and use data structures and standard programming
techniques. Topics coverd includes: The Zoo and the Zoo Annex, The Linux
programming environment, The C programming language, Data structures and
lecture note discusses the approaches to designing optimization algorithms,
including dynamic programming and greedy algorithms, graph algorithms, minimum
spanning trees, shortest paths, and network flows. Also it briefly discusses
algorithmic problems arising from geometric settings, that is, computational
This thesis presents efficient algorithms for internal and
external parallel sorting and remote data update. Topics covered includes: Internal Parallel
Sorting, External Parallel Sorting, The rsync algorithm, rsync
enhancements and optimizations and Further applications for rsync.