Fundamentals of computer algorithms
By: Ellis Horowitz, Sartaj Sahni.
Contributors: Sahni, Sartaj.
Series: Computer software engineering series
Publisher: Computer Science Press
Published: 1984
Place of publication: Rockville, Md
Language: eng
Number of pages: 626
Subjects: Computer programming.; Algorithms.
Notes: Includes bibliographical references and index.
Table of contents: label: Preface
title: Preface
pagenum: vii; label: 1
title: Introduction
pagenum: 1; label: 1.1
title: What is an algorithm
pagenum: 1; label: 1.2
title: Writing algorithms in SPARKS
pagenum: 4; label: 1.3
title: Writing structured programs
pagenum: 14; label: 1.4
title: Analyzing algorithms
pagenum: 24; title: References and selected readings
pagenum: 40; title: Exercises
pagenum: 41; label: 2
title: Elementary Data Structures
pagenum: 48; label: 2.1
title: Stacks and queues
pagenum: 48; label: 2.2
title: Trees
pagenum: 53; label: 2.3
title: Heaps and heapsort
pagenum: 61; label: 2.4
title: Sets and disjoint set union
pagenum: 70; label: 2.5
title: Graphs
pagenum: 79; label: 2.6
title: Hashing
pagenum: 82; title: References and selected readings
pagenum: 93; title: Exercises
pagenum: 94; label: 3
title: Divide-and-Conquer
pagenum: 98; label: 3.1
title: The general method
pagenum: 98; label: 3.2
title: Binary search
pagenum: 100; label: 3.3
title: Finding the maximum and minimum
pagenum: 108; label: 3.4
title: Mergesort
pagenum: 113; label: 3.5
title: Quicksort
pagenum: 121; label: 3.6
title: Selection
pagenum: 127; label: 3.7
title: Strassen's matrix multiplication
pagenum: 137; title: References and selected readings
pagenum: 140; title: Exercises
pagenum: 141; label: 4
title: The Greedy Method
pagenum: 152; label: 4.1
title: The general method
pagenum: 152; label: 4.2
title: Optimal storage on tapes
pagenum: 153; label: 4.3
title: Knapsack problem
pagenum: 157; label: 4.4
title: Job sequencing with deadlines
pagenum: 161; label: 4.5
title: Optimal merge patterns
pagenum: 169; label: 4.6
title: Minimum spanning trees
pagenum: 174; label: 4.7
title: Single source shortest paths
pagenum: 183; title: References and selected readings
pagenum: 188; title: Exercises
pagenum: 191; label: 5
title: Dynamic Programming
pagenum: 198; label: 5.1
title: The general method
pagenum: 198; label: 5.2
title: Multistage graphs
pagenum: 203; label: 5.3
title: All pairs shortest paths
pagenum: 208; label: 5.4
title: Optimal binary search trees
pagenum: 211; label: 5.5
title: 0/1 knapsack
pagenum: 219; label: 5.6
title: Reliability design
pagenum: 228; label: 5.7
title: The traveling salesperson problem
pagenum: 231; label: 5.8
title: Flow shop scheduling
pagenum: 234; title: References and selected readings
pagenum: 238; title: Exercises
pagenum: 240; label: 6
title: Basic Search and Traversal Techniques
pagenum: 248; label: 6.1
title: The techniques
pagenum: 248; label: 6.2
title: Code optimization
pagenum: 270; label: 6.3
title: AND/OR graphs
pagenum: 286; label: 6.4
title: Game trees
pagenum: 290; label: 6.5
title: Biconnected components and depth first search
pagenum: 302; title: References and selected readings
pagenum: 309; title: Exercises
pagenum: 311; label: 7
title: Backtracking
pagenum: 323; label: 7.1
title: The general method
pagenum: 323; label: 7.2
title: The 8-queens problem
pagenum: 337; label: 7.3
title: Sum of subsets
pagenum: 339; label: 7.4
title: Graph coloring
pagenum: 343; label: 7.5
title: Hamiltonian cycles
pagenum: 348; label: 7.6
title: Knapsack problem
pagenum: 350; title: References and selected readings
pagenum: 359; title: Exercises
pagenum: 363; label: 8
title: Branch-and-Bound
pagenum: 370; label: 8.1
title: The method
pagenum: 370; label: 8.2
title: 0/1 knapsack problem
pagenum: 390; label: 8.3
title: Traveling salesperson
pagenum: 403; label: 8.4
title: Efficiency considerations
pagenum: 412; title: References and selected readings
pagenum: 415; title: Exercises
pagenum: 417; label: 9
title: Algebraic Simplification and Transformations
pagenum: 422; label: 9.1
title: The general method
pagenum: 422; label: 9.2
title: Evaluation and interpolation
pagenum: 424; label: 9.3
title: The fast Fourier transform
pagenum: 431; label: 9.4
title: Modular arithmetic
pagenum: 440; label: 9.5
title: Even faster evaluation and interpolation
pagenum: 447; title: References and selected readings
pagenum: 455; title: Exercises
pagenum: 457; label: 10
title: Lower Bound Theory
pagenum: 461; label: 10.1
title: Comparison trees for sorting and searching
pagenum: 461; label: 10.2
title: Oracles and adversary arguments
pagenum: 469; label: 10.3
title: Techniques for algebraic problems
pagenum: 478; label: 10.4
title: Some lower bounds on parallel computation
pagenum: 488; title: References and selected readings
pagenum: 494; title: Exercises
pagenum: 497; label: 11
title: NP-Hard and NP-Complete Problems
pagenum: 501; label: 11.1
title: Basic concepts
pagenum: 501; label: 11.2
title: Cook's theorem
pagenum: 513; label: 11.3
title: NP-Hard graph problems
pagenum: 522; label: 11.4
title: NP-Hard scheduling problems
pagenum: 532; label: 11.5
title: NP-Hard code generation problems
pagenum: 538; label: 11.6
title: Some simplified NP-Hard problems
pagenum: 545; title: References and selected readings
pagenum: 548; title: Exercises
pagenum: 552; label: 12
title: Approximation Algorithms for NP-Hard Problems
pagenum: 559; label: 12.1
title: Introduction
pagenum: 559; label: 12.2
title: Absolute approximations
pagenum: 562; label: 12.3
title: E-approximations
pagenum: 567; label: 12.4
title: Polynomial time approximation schemes
pagenum: 578; label: 12.5
title: Fully polynomial time approximation schemes
pagenum: 585; label: 12.6
title: Probabilistically good algorithms
pagenum: 596; title: References and selected readings
pagenum: 599; title: Exercises
pagenum: 604; label: Appendix A
title: SPARKS
pagenum: 614; title: Index
pagenum: 622