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: 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.
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 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 covers the following topics: Computational Models,
Complexity measures, Power increasing resourses, Basic relatton
amomg the models and measures, Reducibility, completeness and
closure under reductions, Deterministics and nondeterministics
logarithmic space, Deterministics polynomial time, Polynomial
Hierarchy and Polynomial space.