Design and Analysis of Algorithms A Contemporary Perspective 1st edition by Sandeep Sen, Amit Kumar – Ebook PDF Instant Download/Delivery: 1108576893, 9781108576895
Full download Design and Analysis of Algorithms A Contemporary Perspective 1st edition after payment

Product details:
ISBN 10: 1108576893
ISBN 13: 9781108576895
Author: Sandeep Sen, Amit Kumar
The text covers important algorithm design techniques, such as greedy algorithms, dynamic programming, and divide-and-conquer, and gives applications to contemporary problems. Techniques including Fast Fourier transform, KMP algorithm for string matching, CYK algorithm for context free parsing and gradient descent for convex function minimization are discussed in detail. The book’s emphasis is on computational models and their effect on algorithm design. It gives insights into algorithm design techniques in parallel, streaming and memory hierarchy computational models. The book also emphasizes the role of randomization in algorithm design, and gives numerous applications ranging from data-structures such as skip-lists to dimensionality reduction methods.
Design and Analysis of Algorithms A Contemporary Perspective 1st Table of contents:
CHAPTER 1 Model and Analysis
1.1 Computing Fibonacci Numbers
1.2 Fast Multiplication
1.3 Model of Computation
1.4 Randomized Algorithms: A Short Introduction
1.4.1 A different flavor of randomized algorithms
1.5 Other Computational Models
1.5.1 External memory model
1.5.2 Parallel model
Further Reading
Exercise Problems
CHAPTER 2 Basics of Probability and Tail Inequalities
2.1 Basics of Probability Theory
2.2 Tail Inequalities
2.3 Generating Random Numbers
2.3.1 Generating a random variate for an arbitrary distribution
2.3.2 Generating random variables from a sequential file
2.3.3 Generating a random permutation
Further Reading
Exercise Problems
CHAPTER 3 Warm-up Problems
3.1 Euclid’s Algorithm for the Greatest Common Divisor (GCD)
3.1.1 Extended Euclid’s algorithm
3.1.2 Application to cryptography
3.2 Finding the kth Smallest Element
3.2.1 Choosing a random splitter
3.2.2 Median of medians
3.3 Sorting Words
3.4 Mergeable Heaps
3.4.1 Merging binomial heaps
3.5 A Simple SemidynamicDictionary
3.5.1 Potential method and amortized analysis
3.6 Lower Bounds
Further Reading
Exercise Problems
CHAPTER 4 Optimization I: Brute Force and Greedy Strategy
4.1 Heuristic Search Approaches
4.1.1 Game trees
4.2 A Framework for Greedy Algorithms
4.2.1 Maximum spanning tree
4.2.2 Finding minimum weight subset
4.2.3 A scheduling problem
4.3 Efficient Data Structures for Minimum Spanning Tree Algorithms
4.3.1 A simple data structure for Union–Find
4.3.2 A faster scheme
4.3.3 The slowest growing function?
4.3.4 Putting things together
4.3.5 Path compression only
4.4 Greedy in Different Ways
4.5 Compromising with Greedy
4.6 Gradient Descent
4.6.1 Applications
Further Reading
Exercise Problems
CHAPTER 5 Optimization II: Dynamic Programming
5.1 Knapsack Problem
5.2 Context Free Parsing
5.3 Longest Monotonic Subsequence
5.4 Function Approximation
5.5 Viterbi’s Algorithm for Maximum Likelihood Estimation
5.6 Maximum Weighted Independent Set in a Tree
Further Reading
Exercise Problems
CHAPTER 6 Searching
6.1 SkipLists– A Simple Dictionary
6.1.1 Construction of skiplists
6.1.2 Analysis
6.1.3 Stronger tail estimates
6.2 Treaps: Randomized Search Trees
6.3 Universal Hashing
6.3.1 Existence of universal hash functions
6.4 Perfect Hash Function
6.4.1 Converting expected bound to worst case bound
6.5 A log log N Priority Queue
Further Reading
Exercise Problems
CHAPTER 7 Multidimensional Searching and Geometric Algorithms
7.1 Interval Trees and Range Trees
7.1.1 Twodimensionalrange queries
7.2 k–d Trees
7.3 Priority Search Trees
7.4 Planar Convex Hull
7.4.1 Jarvis march
7.4.2 Graham’s scan
7.4.3 Sorting and convex hulls
7.5 Quickhull Algorithm
7.5.1 Analysis
7.5.2 Expected running time
7.6 Point Location Using Persistent Data Structure
7.7 Incremental Construction
Further Reading
Exercise Problems
CHAPTER 8 String Matching and Finger Printing
8.1 Rabin–Karp Fingerprinting
8.2 KMP Algorithm
8.2.1 Analysis of the KMP algorithm
8.2.2 Pattern analysis
8.3 Tries and Applications
Further Reading
Exercise Problems
CHAPTER 9 Fast Fourier Transform and Applications
9.1 Polynomial Evaluation and Interpolation
9.1.1 Multiplying polynomials
9.2 Cooley–Tukey Algorithm
9.3 The Butterfly Network
9.4 Schonage and Strassen’s Fast Multiplication
9.5 Generalized String Matching
9.5.1 Convolution based approach
Further Reading
Exercise Problems
CHAPTER 10 Graph Algorithms
10.1 Depth First Search
10.2 Applications of DFS
10.2.1 Strongly connected components (SCC)
10.2.2 Biconnected components
10.3 Path Problems
10.3.1 Bellman–Ford SSSP algorithm
10.3.2 Dijkstra’s SSSP algorithm
10.3.3 All pair shortest paths algorithm
10.4 Computing Spanners for Weighted Graphs
10.5 Global Mincut
10.5.1 The contraction algorithm
10.5.2 Probability of mincut
Further Reading
Exercise Problems
CHAPTER 11 Maximum Flow and Applications
11.0.1 MaxFlowMinCut
11.0.2 Ford and Fulkerson algorithm
11.0.3 Edmond–Karp augmentation strategy
11.0.4 Monotonicity lemma and bounding the number of iterations
11.1 Applications of MaxFlow
11.1.1 Disjoint paths
11.1.2 Bipartite matching
11.1.3 Circulation problems
11.1.4 Project planning
Further Reading
Exercise Problems
CHAPTER 12 NP Completeness and Approximation Algorithms
12.1 Classes and Reducibility
12.2 Cook–Levin Theorem
12.3 Common NPCompleteProblems
12.4 Proving NP Completeness
12.4.1 Vertex cover and related problems
12.4.2 Three coloring problem
12.4.3 Knapsack and related problems
12.5 Other Important Complexity Classes
12.6 Combating Hardness with Approximation
12.6.1 Maximum knapsack problem
12.6.2 Minimum set cover
12.6.3 The metric TSP problem
12.6.4 Three coloring
12.6.5 Maxcutproblem
Further Reading
Exercise Problems
CHAPTER 13 Dimensionality Reduction
13.1 Random Projections and the Johnson–Lindenstrauss Lemma
13.2 Gaussian Elimination
13.3 Singular Value Decomposition and Applications
13.3.1 Some matrix algebra and the SVD theorem
13.3.2 Lowrankapproximations using SVD
13.3.3 Applications of lowrankapproximations
13.3.4 Clustering problems
13.3.5 Proof of the SVD theorem
Further Reading
Exercise Problems
CHAPTER 14 Parallel Algorithms
14.1 Models of Parallel Computation
14.2 Sorting and Comparison Problems
14.2.1 Finding the maximum
14.2.2 Sorting
14.3 Parallel Prefix
14.4 Basic Graph Algorithms
14.4.1 List ranking
14.4.2 Connected components
14.5 Basic Geometric Algorithms
14.6 Relation between Parallel Models
14.6.1 Routing on a mesh
Further Reading
Exercise Problems
CHAPTER 15 Memory Hierarchy and Caching
15.1 Models of Memory Hierarchy
15.2 Transposing a Matrix
15.2.1 Matrix multiplication
15.3 Sorting in External Memory
15.3.1 Can we improve the algorithm?
15.4 Cache Oblivious Design
15.4.1 Oblivious matrix transpose
Further Reading
Exercise Problems
CHAPTER 16 Streaming Data Model
16.1 Introduction
16.2 Finding Frequent Elements in a Stream
16.3 Distinct Elements in a Stream
16.4 Frequency Moment Problem and Applications
16.4.1 The median of means trick
16.4.2 The special case of second frequency moment
16.5 Proving Lower Bounds for Streaming Model
Further Reading
Exercise Problems
APPENDIX A Recurrences and Generating Functions
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
Bibliography
Index
People also search for Design and Analysis of Algorithms A Contemporary Perspective 1st:
introduction to the design and analysis of algorithms
quick sort in design and analysis of algorithms
introduction to the design and analysis of algorithms 3rd edition
mit design and analysis of algorithms
design and analysis of algorithms pdf
Tags: Sandeep Sen, Amit Kumar, Contemporary Perspective, Design and Analysis