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 Other models
1.4.1 External memory model
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
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.3 The butterfly network
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.1 Max Flow Min Cut
9.3.2 Ford and Fulkerson method
9.3.3 Edmond Karp augmentation strategy
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
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


Ratings: (0)|Views: 7|Likes:
Published by Shobhit Walia

More info:

Published by: Shobhit Walia on Dec 05, 2010
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 7 to 50 are not shown in this preview.
You're Reading a Free Preview
Pages 54 to 118 are not shown in this preview.

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

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)//-->