DAA - JNTU World or ld www.alljntuworld.in Lecture Notes for Algorithm Analysis and Design JN TU W JNTU World Downloaded From JNTU

DAA - JNTU World or ld www.alljntuworld.in Lecture Notes...

This preview shows page 1 - 5 out of 128 pages.

Lecture Notes for Algorithm Analysis and Design JNTU World JNTU World JNTU World Downloaded From JNTU World ()
Image of page 1
Contents 1 Model and Analysis 6 1.1 Computing Fibonacci numbers . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Fast Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Model of Computation . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Other models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.1 External memory model . . . . . . . . . . . . . . . . . . . . . 11 1.4.2 Parallel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 Warm up problems 15 2.1 Euclid’s algorithm for GCD . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.1 Extended Euclid’s algorithm . . . . . . . . . . . . . . . . . . . 16 2.2 Finding the k -th element . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.1 Choosing a random splitter . . . . . . . . . . . . . . . . . . . 18 2.2.2 Median of medians . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 Sorting words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4 Mergeable heaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.1 Merging Binomial Heaps . . . . . . . . . . . . . . . . . . . . . 22 2.5 A simple semi-dynamic dictionary . . . . . . . . . . . . . . . . . . . . 23 2.5.1 Potential method and amortized analysis . . . . . . . . . . . . 24 3 Optimization I : Brute force and Greedy strategy 25 3.1 Heuristic search approaches . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.1 Game Trees * . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 A framework for Greedy Algorithms . . . . . . . . . . . . . . . . . . . 29 3.2.1 Maximal Spanning Tree . . . . . . . . . . . . . . . . . . . . . 31 3.2.2 A Scheduling Problem . . . . . . . . . . . . . . . . . . . . . . 32 3.3 Efficient data structures for MST algorithms . . . . . . . . . . . . . . 33 3.3.1 A simple data structure for union-find . . . . . . . . . . . . . 33 3.3.2 A faster scheme . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1 JNTU World JNTU World Downloaded From JNTU World ()
Image of page 2
3.3.3 The slowest growing function ? . . . . . . . . . . . . . . . . . 35 3.3.4 Putting things together . . . . . . . . . . . . . . . . . . . . . . 36 3.3.5 Path compression only . . . . . . . . . . . . . . . . . . . . . . 37 3.4 Compromising with Greedy . . . . . . . . . . . . . . . . . . . . . . . 38 4 Optimization II : Dynamic Programming 39 4.1 A generic dynamic programming formulation . . . . . . . . . . . . . . 40 4.2 Illustrative examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2.1 Context Free Parsing . . . . . . . . . . . . . . . . . . . . . . . 40 4.2.2 Longest monotonic subsequence . . . . . . . . . . . . . . . . . 41 4.2.3 Function approximation . . . . . . . . . . . . . . . . . . . . . 42 4.2.4 Viterbi’s algorithm for Maximum likelihood estimation . . . . 44 5 Searching 46 5.1 Skip Lists - a simple dictionary . . . . . . . . . . . . . . . . . . . . . 46 5.1.1 Construction of Skip-lists . . . . . . . . . . . . . . . . . . . . . 46 5.1.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2 Treaps : Randomized Search Trees . . . . . . . . . . . . . . . . . . . 49 5.3 Universal Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3.1 Example of a Universal Hash function . . . . . . . . . . . . . 52 5.4 Perfect Hash function . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.4.1 Converting expected bound to worst case bound . . . . . . . . 54 5.5 A log log N priority queue . . . . . . . . . . . . . . . . . . . . . . . . 54 6 Multidimensional Searching and Geometric algorithms 57 6.1 Interval Trees and Range Trees . . . . . . . . . . . . . . . . . . . . . 57 6.1.1 Two Dimensional Range Queries . . . . . . . . . . . . . . . . 58 6.2 k-d trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.3 Priority Search Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.4 Planar Convex Hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.4.1 Jarvis March . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.4.2 Graham’s Scan . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.4.3 Sorting and Convex hulls . . . . . . . . . . . . . . . . . . . . . 64 6.5 A Quickhull Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.5.1 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.5.2 Expected running time . . . . . . . . . . . . . . . . . . . . . 67 6.6 Point location using persistent data structure . . . . . . . . . . . . . 68 2 JNTU World JNTU World Downloaded From JNTU World ()
Image of page 3
7 Fast Fourier Transform and Applications 71 7.1 Polynomial evaluation and interpolation . . . . . . . . . . . . . . . . 71 7.2 Cooley-Tukey algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3 The butterfly network . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.4 Schonage and Strassen’s fast multiplication . . . . . . . . . . . . . . . 75 8 String matching and finger printing 78 8.1 Rabin Karp fingerprinting . . . . . . . . . . . . . . . . . . . . . . . . 78 8.2 KMP algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.2.1 Analysis of the KMP algorithm . . . . . . . . . . . . . . . . . 81 8.2.2 Pattern Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.3 Generalized String matching . . . . . . . . . . . . . . . . . . . . . . . 82 8.3.1 Convolution based approach . . . . . . . . . . . . . . . . . . . 82 9 Graph Algorithms 84 9.1 Applications of DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 9.1.1 Strongly Connected Components (SCC) . . . . . . . . . . . . 85 9.1.2 Biconncted Components . . . . . . . . . . . . . . . . . . . . . 86 9.2 Path problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.2.1 Bellman Ford SSSP Algorithm . . . . . . . . . . . . . . . . . . 88 9.2.2 Dijkstra’s SSSP algorithm . . . . . . . . . . . . . . . . . . . . 89 9.2.3 Floyd-Warshall APSP algorithm . . . . . . . . . . . . . . . . . 90 9.3 Maximum flows in graphs . . . . . . . . . . . . . . . . . . . . . . . . 91 9.3.1 Max Flow Min Cut . . . . . . . . . . . . . . . . . . . . . . . . 92 9.3.2 Ford and Fulkerson method . . . . . . . . . . . . . . . . . . . 93 9.3.3 Edmond Karp augmentation strategy . . . . . . . . . . . . . . 94 9.3.4 Monotonicity Lemma and bounding the iterations . . . . . . . 94 9.4 Global Mincut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.4.1 The contraction algorithm . . . . . . . . . . . . . . . . . . . . 96 9.4.2 Probability of mincut . . . . . . . . . . . . . . . . . . . . . . . 97 9.5 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Image of page 4
Image of page 5

You've reached the end of your free preview.

Want to read all 128 pages?

  • Spring '16
  • Analysis of algorithms, JNTU World, FN

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture