## Design And Analysis Of AlgorithmsThis book is designed for the way we learn and intended for one-semester course in Design and Analysis of Algorithms . This is a very useful guide for graduate and undergraduate students and teachers of computer science. This book provides a coherent and pedagogically sound framework for learning and teaching. Its breadth of coverage insures that algorithms are carefully and comprehensively discussed with figures and tracing of algorithms. Carefully developing topics with sufficient detail, this text enables students to learn about concepts on their own, offering instructors flexibility and allowing them to use the text as lecture reinforcement.Key Features:" Focuses on simple explanations of techniques that can be applied to real-world problems." Presents algorithms with self-explanatory pseudocode." Covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers." Includes chapter summary, self-test quiz and exercises at the end of each chapter. Key to quizzes and solutions to exercises are given in appendices. |

### What people are saying - Write a review

User Review - Flag as inappropriate

not well explain

User Review - Flag as inappropriate

All 6 reviews »One of the most useful books that ever could find for data structures........

### Contents

Introduction to Algorithms | 1 |

Disjoint Sets | 41 |

Divide and Conquer | 67 |

Greedy Method | 85 |

Dynamic Programming | 115 |

Backtracking | 149 |

Branch and Bound | 167 |

NPComplete Problems | 179 |

Appendix A Key to SelfTest Quiz | 191 |

Appendix B Answers and Hints to Exercises | 197 |

Backtracking | 241 |

Branch and Bound | 246 |

NPComplete Problems | 252 |

255 | |

257 | |

### Common terms and phrases

0/1 knapsack problem adjacency list adjacency matrix array assignment average search backtracking biconnected binary search tree branch-and-bound cg(n complexity connected components contains data structure deadline decision problem disjoint sets divide and conquer dynamic programming edge element Endfor Endif Endwhile example feasible solution fractional knapsack problem function given graph G greedy algorithm greedy method Hamilton cycle Hamilton cycle problem Hamiltonian cycle Huffman code Huffman tree included input integer iteration Kruskal's live nodes log2n loop lower bound matrix multiplication merge merge sort minimum cost minimum spanning tree n-queens NP-complete NP-complete problem NP-hard O(nlog2n optimal solution optimal substructure optimal tour polynomial-time Prim’s algorithm problem in NP queens queue quicksort recurrence relation root running selected shortest path solved in polynomial sort space tree step subarray subset subtree sumSoFar technique total number undirected graph upper bound variable vertex vertices weighted graph worst-case