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.
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 is an intermediate algorithms course note
with an emphasis on teaching techniques for the design and analysis of efficient
algorithms, emphasizing methods of application. Topics include
divide-and-conquer, randomization, dynamic programming, greedy algorithms,
incremental improvement, complexity, and cryptography.
Author(s): Prof. Erik Demaine, Prof. Srinivas
Devadas and Prof. Nancy Lynch
This book provides implementations of common and uncommon
algorithms in pseudocode which is language independent and provides for easy
porting to most imperative programming language. Topics covered includes: Data
Structures, Linked Lists, Binary Search Tree, Heap, Sets, Queues, Algorithms,
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
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.
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
note covers the following topics related to Algorithm Analysis and Design: Model
and Analysis, Warm up problems, Brute force and Greedy strategy, Dynamic
Programming, Searching, Multidimensional Searching and Geometric algorithms,
Fast Fourier Transform and Applictions, String matching and finger printing,
Graph Algorithms, NP Completeness and Approximation Algorithms.
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.