Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

Model and Analysis
1.1 Computing Fibonacci numbers
1.2 Fast Multiplication
1.3 Model of Computation
1.4.2 Parallel Model
Warm up problems
2.1 Euclid’s algorithm for GCD
2.1.1 Extended Euclid’s algorithm
2.2 Finding the k-th element
2.2.1 Choosing a random splitter
2.2.2 Median of medians
2.3 Sorting words
2.4 Mergeable heaps
2.4.1 Merging Binomial Heaps
Brute force and Greedy strategy
3.1 Heuristic search approaches
3.1.1 Game Trees *
3.2 A framework for Greedy Algorithms
3.2.1 Maximal Spanning Tree
3.2.2 A Scheduling Problem
3.3 Efficient data structures for MST algorithms
3.3.1 A simple data structure for union-find
3.3.2 A faster scheme
3.3.3 The slowest growing function ?
3.3.4 Putting things together
3.3.5 Path compression only
Dynamic Programming
4.1 A generic dynamic programming formulation
4.2 Illustrative examples
4.2.1 Context Free Parsing
4.2.2 Longest monotonic subsequence
4.2.3 Function approximation
4.2.4 Viterbi’s algorithm for Expectation Maximization
5.1 Skip Lists - a simple dictionary
5.1.1 Construction of Skip-lists
5.1.2 Analysis
5.2 Treaps : Randomized Search Trees
5.3 Universal Hashing
5.3.1 Example of a Universal Hash function
5.4 Perfect Hash function
5.4.1 Converting expected bound to worst case bound
5.5 A loglogN priority queue
6.1 Interval Trees and Range Trees
6.1.1 Two Dimensional Range Queries
6.2 k-d trees
6.3 Priority Search Trees
6.4 Planar Convex Hull
6.4.1 Jarvis March
6.4.2 Graham’s Scan
6.4.3 Sorting and Convex hulls
6.5 A Quickhull Algorithm
6.5.1 Analysis
6.5.2 Expected running time ∗
6.6 Point location using persistent data structure
7.1 Polynomial evaluation and interpolation
7.2 Cooley-Tukey algorithm
7.4 Schonage and Strassen’s fast multiplication
String matching and finger printing
8.1 Rabin Karp fingerprinting
8.2 KMP algorithm
8.2.1 Potential method and amortized analysis
8.2.2 Analysis of the KMP algorithm
8.2.3 Pattern Analysis
8.3 Generalized String matching
8.3.1 Convolution based approach
Graph Algorithms
9.1 Applications of DFS
9.1.1 Strongly Connected Components (SCC)
9.1.2 Finding Biconnected Components (BCC)
9.2 Path problems
9.2.1 Bellman Ford SSSP Algorithm
9.2.2 Dijkstra’s SSSP algorithm
9.2.3 Floyd-Warshall APSP algorithm
9.3 Maximum flows in graphs
9.3.4 Monotonicity Lemma and bounding the iterations
9.4 Global Mincut
9.4.1 The contraction algorithm
9.4.2 Probability of mincut
9.5 Matching
10.1 Classes and reducibility
10.2 Cook Levin theorem
10.3 Common NP complete problems
10.3.1 Other important complexity classes
10.4 Combating hardness with approximation
10.4.1 Equal partition
10.4.2 Greedy set cover
10.4.3 The metric TSP problem
10.4.4 Three colouring
10.4.5 Maxcut
A.1 An iterative method - summation
A.2 Linear recurrence equations
A.2.1 Homogeneous equations
A.2.2 Inhomogeneous equations
A.3 Generating functions
A.3.1 Binomial theorem
A.4 Exponential generating functions
A.5 Recurrences with two variables
B.1 Probability generating functions
B.1.1 Probabilistic inequalities
0 of .
Results for:
No results containing your search query
P. 1
Ada Notes

Ada Notes

Ratings: (0)|Views: 1|Likes:
Published by Shivani Goel
It contains notes for Algorithm Design and Analysis for Computer Science students.
It contains notes for Algorithm Design and Analysis for Computer Science students.

More info:

Published by: Shivani Goel on Aug 23, 2013
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 4 to 11 are not shown in this preview.
You're Reading a Free Preview
Pages 15 to 69 are not shown in this preview.
You're Reading a Free Preview
Pages 73 to 88 are not shown in this preview.
You're Reading a Free Preview
Pages 92 to 121 are not shown in this preview.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->