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 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.
This note covers the following
topics: Self adjusting data structures, amortized analysis, self adjusting
lists, Splay trees, their performance and related conjectures, Hashing, FKS
perfect hashing, Cuckoo hasing, dynamic perfect hashing, Fusion Trees, Fully
dynamic connectivity in polylogarithmic time, Dynamic all pairs shortest paths,
Linear time construction of Suffix trees and arrays, Succinct Data Structures,
External memory data structures, Geometric data structures, Top trees,
Retroactive data structures, Online optimal structure for planar point
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: Encryption Algorithms, Genetic
Algorithms, Geographic Information Systems Algorithms, Sorting
Algorithms, Search Algorithms, Tree Algorithms, Computational
Geometry Algorithms, Phonetic Algorithms and Project Management
These notes were prepared for the Programming Languages and
System Design course in the BE (Information Technology) course at
the University of Western Australia. The course note covers the
following topics: Algorithm Complexity, Classes of Efficient
Algorithms, Searching, Queues, Sorting, Graphs, Huffman Encoding,
Fast Fourier Transforms, Matrix Chain Multiplication, Intractible
Problems and Alpha-Beta search.
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.