AN INTRODUCTION TO THE ANALYSIS OF ALGORITHMS
Publisher: World Scientific
Published: 2012
Place of publication: Singapore
Language: eng
Format: [electronic resource]
Number of pages: 211
ISBN-13: 9789814401166
Subjects: Computer algorithms; Data structures (Computer science)
Description: A successor to the first edition, this updated and revised book is a great companion guide for students and engineers alike, specifically software engineers who design reliable code. While succinct, this edition is mathematically rigorous, covering the foundations of both computer scientists and mathematicians with interest in algorithms.Besides covering the traditional algorithms of Computer Science such as Greedy, Dynamic Programming and Divide & Conquer, this edition goes further by exploring two classes of algorithms that are often overlooked: Randomised and Online algorithms ? with emphas
Notes: Description based upon print version of record.
Table of contents: title: Preface; Contents; 1. Preliminaries; 1.1 Induction; 1.2 Invariance; 1.3 Correctness of algorithms; 1.3.1 Division algorithm; 1.3.2 Euclid's algorithm; 1.3.3 Palindromes algorithm; 1.3.4 Further examples; 1.3.5 Recursion and fixed points; 1.3.6 Formal verification; 1.4 Stable marriage; 1.5 Answers to selected problems; 1.6 Notes; 2. Greedy Algorithms; 2.1 Minimum cost spanning trees; 2.2 Jobs with deadlines and profits; 2.3 Further examples and problems; 2.3.1 Make change; 2.3.2 Maximum weight matching; 2.3.3 Shortest path; 2.3.4 Huffman codes; 2.4 Answers to selected problems; 2.5 Notes; title: 3. Divide and Conquer3.1 Mergesort; 3.2 Multiplying numbers in binary; 3.3 Savitch's algorithm; 3.4 Further examples and exercises; 3.4.1 Extended Euclid's algorithm; 3.4.2 Finite automata; 3.5 Answers to selected problems; 3.6 Notes; 4. Dynamic Programming; 4.1 Longest monotone subsequence problem; 4.2 All pairs shortest path problem; 4.2.1 Bellman-Ford algorithm; 4.3 Simple knapsack problem; 4.3.1 Dispersed knapsack problem; 4.3.2 General knapsack problem; 4.4 Activity selection problem; 4.5 Jobs with deadlines, durations and profits; 4.6 Further examples and problems; title: 4.6.1 Consecutive subsequence sum problem4.6.2 Regular expressions; 4.6.3 Context free grammars; 4.7 Answers to selected problems; 4.8 Notes; 5. Online Algorithms; 5.1 List accessing problem; 5.2 Paging; 5.2.1 Demand paging; 5.2.2 FIFO; 5.2.3 LRU; 5.2.4 Marking algorithms; 5.2.5 FWF; 5.2.6 LFD; 5.3 Answers to selected problems; 5.4 Notes; 6. Randomized Algorithms; 6.1 Perfect matching; 6.2 Pattern matching; 6.3 Primality testing; 6.4 Public key cryptography; 6.4.1 Diffie-Hellman key exchange; 6.4.2 ElGamal; 6.4.3 RSA; 6.5 Further exercises; 6.6 Answers to selected problems; 6.7 Notes; title: Appendix A Number Theory and Group TheoryA.1 Answers to selected problems; A.2 Notes; Appendix B Relations; B.1 Closure; B.2 Equivalence relation; B.3 Partial orders; B.4 Lattices; B.5 Fixed point theory; B.6 Answers to selected problems; B.7 Notes; Appendix C Logic; C.1 Propositional Logic; C.2 First Order Logic; C.3 Peano Arithmetic; C.4 Answers to selected problems; C.5 Notes; Bibliography; Index;