This note covers the following
topics: Introduction to Algorithms, Asymptotic Notation, Modeling or Logarithms,
Elementary Data Structures, Dictionary data structures, Sorting, Heapsort or
Priority Queues, Recurrence Relations, Introduction to NP-completeness,
Reductions, Cook's Theorem or Harder Reduction, NP-completeness challenge,
Approximation Algorithms and Heuristic Methods.
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.
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.
This note covers the following topics:
Lazy Evaluation and S-Notation, Amortization and Persistence via Lazy
Evaluation, Eliminating Amortization, Lazy Rebuilding, Numerical
Representations, Data-Structural Bootstrapping, Implicit Recursive Slowdown.
This note introduces a number of important algorithm
design techniques as well as basic algorithms that are interesting both from a
theoretical and also practical point of view. Topics covered are: Introduction
to Algorithms, Asymptotic Analysis, Recurrence Equations, Sorting Algorithms,
Search Trees, Randomized Algorithms and Quicksort, Selection Algorithms, Number
Theory and Cryptography Algorithms, Graph algorithms, Greedy Algorithms and
External Memory Algorithms.
Author(s): Department of Computer
Science at Duke University
This note covers the design of algorithms according to
methodology and application. Methodologies include: divide and
conquer, dynamic programming, and greedy strategies. Applications
involve: sorting, ordering and searching, graph algorithms,
geometric algorithms, mathematical (number theory, algebra and
linear algebra) algorithms, and string matching algorithms.
The material of this book is aimed at advanced
undergraduate information (or computer) science students,
postgraduate library science students, and research workers in the
field of IR. Some of the chapters, particular chapter 6, make simple
use of a little advanced mathematics.
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.