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.
covers the following topics: Algorithm Analysis, algorithmic patterns, Standard
I/O and iostream, Foundational Data Structures and Basic Abstract Data Types,
Linked-list, Stacks and Queues, PA1 walkthrough, Pointer, Hashing, Recursion and
Recurrence Relations, Trees, Binary Search Trees, Range and Multidimensional
Searches, Heaps, Tries, Balanced Search Trees, Binary-tree Representations of
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
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.
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.