Computer algorithms:
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Summit, NJ
Silicon Press
2008
|
Ausgabe: | 2. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Klappentext |
Beschreibung: | 3. Verf. in Vorlage mehrfach fälschlicherweise als "Rajasekeran" angegeben! |
Beschreibung: | XX, 773, 11 S. graph. Darst. |
ISBN: | 9780929306414 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV023325557 | ||
003 | DE-604 | ||
005 | 20090421 | ||
007 | t | ||
008 | 080603s2008 xxud||| |||| 00||| eng d | ||
010 | |a 2007033822 | ||
020 | |a 9780929306414 |9 978-0-929306-41-4 | ||
035 | |a (OCoLC)165083482 | ||
035 | |a (DE-599)BVBBV023325557 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-703 | ||
050 | 0 | |a QA76.9.A43 | |
082 | 0 | |a 005.1 | |
084 | |a ST 134 |0 (DE-625)143590: |2 rvk | ||
100 | 1 | |a Horowitz, Ellis |d 1944- |e Verfasser |0 (DE-588)109812050 |4 aut | |
245 | 1 | 0 | |a Computer algorithms |c Ellis Horowitz ; Sartaj Sahni ; Sanguthevar Rajasekaran |
250 | |a 2. ed. | ||
264 | 1 | |a Summit, NJ |b Silicon Press |c 2008 | |
300 | |a XX, 773, 11 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a 3. Verf. in Vorlage mehrfach fälschlicherweise als "Rajasekeran" angegeben! | ||
650 | 4 | |a Computer algorithms | |
650 | 4 | |a Pseudocode (Computer program language) | |
650 | 0 | 7 | |a Algorithmus |0 (DE-588)4001183-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Computer |0 (DE-588)4070083-5 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Computer |0 (DE-588)4070083-5 |D s |
689 | 0 | 1 | |a Algorithmus |0 (DE-588)4001183-5 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Sahni, Sartaj |d 1949- |e Verfasser |0 (DE-588)109812069 |4 aut | |
700 | 1 | |a Rajasekaran, Sanguthevar |d 1957- |e Verfasser |0 (DE-588)129645524 |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |3 Klappentext |
999 | |a oai:aleph.bib-bvb.de:BVB01-016509577 |
Datensatz im Suchindex
_version_ | 1804137666432729088 |
---|---|
adam_text | Contents
PREFACE v
1
INTRODUCTION
1
1.1
WHAT IS AN ALGORITHM?
................. 1
1.2
ALGORITHM SPECIFICATION
................ 5
1.2.1
Pseudocode Conventions
................. 5
1.2.2
Recursive Algorithms
..................
Ю
1.3
PERFORMANCE ANALYSIS
................. 14
1.3.1
Space Complexity
.................... 15
1.3.2
Time Complexity
..................... 17
1.3.3
Amortized Complexity
.................. 28
1.3.4
Asymptotic Notation
(Ο, Ω, Θ)
............ 39
1.3.5
Practical Complexities
.................. 47
1.3.6
Performance Measurement
................ 50
1.4
RANDOMIZED ALGORITHMS
................ 62
1.4.1
Basics of Probability Theory
.............. 62
1.4.2
Randomized Algorithms: An Informal Description
. · 67
1.4.3
Identifying the Repeated Element
........... 68
1.4.4
Primality Testing
.....................
70
1.4.5
Advantages and Disadvantages
............. 74
1.5
REFERENCES AND READINGS
...............
77
2
ELEMENTARY DATA STRUCTURES 79
2.1
STACKS AND QUEUES
....................
79
2.2
TREES
.............................. 87
2.2.1
Terminology
....................... 87
2.2.2
Binary Trees
....................... 88
2.3
DICTIONARIES
.........................
92
Xli
CONTENTS xiii
2.3.1
Binary Search Trees
................... 93
2.4
PRIORITY QUEUES
......................100
2.4.1
Heaps
...........................101
2.4.2
Heap Sort
.........................107
2.5
SETS AND DISJOINT SET UNION
..............110
2.5.1
Introduction
.......................110
2.5.2
Union and Find Operations
...............
Ill
2.6
GRAPHS
.............................121
2.6.1
Introduction
....................... 121
2.6.2
Definitions
........................ 121
2.6.3
Graph Representations
.................. 126
2.7
REFERENCES AND READINGS
............... 135
3
DIVIDE AND CONQUER
136
3.1
GENERAL METHOD
...................... 136
3.2
DEFECTIVE CHESSBOARD
................. 141
3.3
BINARY SEARCH
........................ 145
3.4
FINDING THE MAXIMUM
AND MINIMUM
......................... 153
3.5
MERGE SORT
.......................... 159
3.6
QUICK SORT
.......................... 168
3.6.1
Performance Measurement
................ 172
3.6.2
Randomized Sorting Algorithms
............ 174
3.7
SELECTION
........................... 178
3.7.1
A Worst-Case Optimal Algorithm
........... 182
3.7.2
Implementation of Select2
................ 186
3.8
STRASSEN S MATRIX MULTIPLICATION
......... 192
3.9
CONVEX HULL
......................... 197
3.9.1
Some Geometric Primitives
............... 198
3.9.2
The QuickHull Algorithm
................ 199
3.9.3
Graham s Scan
...................... 200
3.9.4
An
Ο (η
log
η)
Divide-and-Conquer Algorithm
..... 203
3.10
REFERENCES AND READINGS
............... 207
3.11
ADDITIONAL EXERCISES
.................. 207
4
THE GREEDY METHOD
210
4.1
THE GENERAL METHOD
...................210
4.2
CONTAINER LOADING
....................214
4.3
KNAPSACK PROBLEM
....................218
xiv CONTENTS
4.4
TREE VERTEX SPLITTING
..................222
4.5
JOB SEQUENCING WITH DEADLINES
...........227
4.6
MINIMUM-COST SPANNING TREES
............236
4.6.1
Prim s Algorithm
..................... 237
4.6.2
Kruskal s Algorithm
................... 239
4.6.3
An Optimal Randomized Algorithm
(*)........ 244
4.7
OPTIMAL STORAGE ON TAPES
.............. 249
4.8
OPTIMAL MERGE PATTERNS
................ 253
4.9
SINGLE-SOURCE SHORTEST PATHS
............ 260
4.10
REFERENCES AND READINGS
............... 268
4.11
ADDITIONAL EXERCISES
.................. 269
5
DYNAMIC PROGRAMMING
272
5.1
THE GENERAL METHOD
...................272
5.2
MULTISTAGE GRAPHS
....................276
5.3
ALL-PAIRS SHORTEST PATHS
................284
5.4
SINGLE-SOURCE SHORTEST PATHS:
GENERAL WEIGHTS
.....................288
5.5
OPTIMAL BINARY SEARCH TREES
(*)..........293
5.6
STRING EDITING
.......................302
5.7 0/1
KNAPSACK
.........................305
5.8
RELIABILITY DESIGN
.....................315
5.9
THE TRAVELING SALESPERSON
PROBLEM
............................318
5.10
FLOW SHOP SCHEDULING
..................321
5.11
REFERENCES AND READINGS
...............327
5.12
ADDITIONAL EXERCISES
..................327
6
BASIC TRAVERSAL AND SEARCH TECHNIQUES
333
6.1
TECHNIQUES FOR BINARY TREES
............333
6.2
TECHNIQUES FOR GRAPHS
.................338
6.2.1
Breadth First Search and Traversal
...........340
6.2.2
Depth First Search and Traversal
............343
6.3
CONNECTED COMPONENTS AND
SPANNING TREES
.......................345
6.4
BICONNECTED COMPONENTS AND DFS
.........349
6.5
REFERENCES AND READINGS
...............358
CONTENTS xv
7
BACKTRACKING
359
7.1
THE GENERAL METHOD
................... 359
7.2
THE 8-QUEENS PROBLEM
.................. 373
7.3
SUM OF SUBSETS
....................... 377
7.4
GRAPH COLORING
...................... 380
7.5
HAMILTONIAN CYCLES
................... 384
7.6
KNAPSACK PROBLEM
.................... 387
7.7
REFERENCES AND READINGS
............... 393
7.8
ADDITIONAL EXERCISES
.................. 394
8
BRANCH AND BOUND
399
8.1
THE METHOD
......................... 399
8.1.1
Least Cost (LC) Search
................. 400
8.1.2
The 15-puzzle: An Example
............... 402
8.1.3
Control Abstractions for LC-Search
.......... 406
8.1.4
Bounding
......................... 408
8.1.5
FIFO Branch-and-Bound
................ 411
8.1.6
LC Branch-and-Bound
.................. 412
8.2 0/1
KNAPSACK PROBLEM
.................. 413
8.2.1
LC Branch-and-Bound Solution
............. 414
8.2.2
FIFO Branch-and-Bound Solution
........... 417
8.3
TRAVELING SALESPERSON
(*)............... 422
8.4
EFFICIENCY CONSIDERATIONS
.............. 431
8.5
REFERENCES AND READINGS
............... 434
9
ALGEBRAIC PROBLEMS
436
9.1
THE GENERAL METHOD
................... 436
9.2
EVALUATION AND INTERPOLATION
........... 439
9.3
THE FAST FOURIER TRANSFORM
............. 448
9.3.1
An In-place Version of the FFT
............. 454
9.3.2
Some Remaining Points
................. 457
9.4
MODULAR ARITHMETIC
................... 458
9.5
EVEN FASTER EVALUATION
AND INTERPOLATION
.................... 466
9.6
REFERENCES AND READINGS
............... 474
xvi CONTENTS
10
LOWER BOUND THEORY
476
10.1
COMPARISON TREES
..................... 477
10.1.1
Ordered Searching
.................... 478
10.1.2
Sorting
.......................... 478
10.1.3
Selection
......................... 483
10.2
ORACLES AND
ADVERSARY ARGUMENTS
................. 485
10.2.1
Merging
.......................... 486
10.2.2
Largest and Second Largest
............... 487
10.2.3
State Space Method
................... 489
10.2.4
Selection
......................... 490
10.3
LOWER BOUNDS
THROUGH REDUCTIONS
................... 493
10.3.1
Finding the Convex Hull
................. 494
10.3.2
Disjoint Sets Problem
.................. 494
10.3.3
On-line Median Finding
................. 496
10.3.4
Multiplying Triangular Matrices
............ 496
10.3.5
Inverting a Lower Triangular Matrix
.......... 497
10.3.6
Computing the Transitive Closure
........... 499
10.4
TECHNIQUES FOR
ALGEBRAIC PROBLEMS
(*)................. 503
10.5
REFERENCES AND READINGS
............... 512
11
tfP-HAKD AND JVP-COMPLETE PROBLEMS
514
11.1
BASIC CONCEPTS
....................... 514
11.1.1
Nondeterministic Algorithms
.............. 515
11.1.2
The Classes JvT-hard and jVP-complete
........ 523
11.2
COOK S THEOREM
(*) .................... 527
11.3
Λίν
-UARD
GRAPH PROBLEMS
............... 536
11.3.1
CUque Decision Problem (CDP)
............ 537
11.3.2
Node Cover Decision Problem (NCDP)
........ 538
11.3.3
Chromatic Number Decision Problem (CNDP)
.... 539
11.3.4
Directed Hamiltonian Cycle (DHC)
(*) ........ 541
11.3.5
Traveling Salesperson Decision Problem (TSP)
.... 545
11.3.6
AND/OR Graph Decision Problem (AOG)
...... 545
11.4
TVP-HARD SCHEDULING PROBLEMS
........... 552
11.4.1
Scheduling Identical Processors
............. 553
11.4.2
Flow Shop Scheduling
.................. 555
CONTENTS xvii
11.4.3 Job Shop
Scheduling
...................557
11.5 AfV-RAKD CODE GENERATION
PROBLEMS ........................... 559
11.5.1 Code Generation
with Common Subexpressions
.... 562
11.5.2
Implementing Parallel Assignment Instructions
.... 565
11.6
SOME SIMPLIFIED
AfV-RAKD PROBLEMS
....................568
11.7
REFERENCES AND READINGS
...............572
11.8
ADDITIONAL EXERCISES
..................572
12
APPROXIMATION ALGORITHMS
576
12.1
INTRODUCTION
........................576
12.2
ABSOLUTE APPROXIMATIONS
............... 580
12.2.1
Planar Graph Coloring
..................580
12.2.2
Maximum Programs Stored Problem
..........580
12.2.3
AfV-hard Absolute Approximations
..........582
12.3
e-APPROXIMATIONS
......................584
12.3.1
Scheduling Independent Tasks
.............584
12.3.2
Bin Packing
........................588
12.3.3
./V^-hard
е
-approximation Problems
..........591
12.4
POLYNOMIAL TIME APPROXIMATION SCHEMES
... 597
12.4.1
Scheduling Independent Tasks
.............597
12.4.2 0/1
Knapsack
......................599
12.5
FULLY POLYNOMIAL TIME
APPROXIMATION SCHEMES
.................604
12.5.1
Rounding
.........................605
12.5.2
Interval Partitioning
...................609
12.5.3
Separation
........................610
12.6
PROBABILISTICALLY GOOD
ALGORITHMS
(*)........................615
12.7
REFERENCES AND READINGS
...............618
12.8
ADDITIONAL EXERCISES
..................618
13
PRAM ALGORITHMS
623
13.1
INTRODUCTION
........................623
13.2
COMPUTATIONAL MODEL
..................626
13.3
FUNDAMENTAL TECHNIQUES
AND ALGORITHMS
......................632
13.3.1
Prefix Computation
...................633
XVIII
CONTENTS
13.3.2
List Ranking
....................... 635
13.4
SELECTION
........................... 644
13.4.1
Maximal Selection with n2 Processors
......... 645
13.4.2
Finding the Maximum Using
η
Processors
....... 646
13.4.3
Maximal Selection Among Integers
........... 646
13.4.4
General Selection Using n2 Processors
......... 649
13.4.5
A Work-Optimal Randomized Algorithm
(*) ..... 649
13.5
MERGING
............................ 653
13.5.1
A Logarithmic Time Algorithm
............. 653
13.5.2
Odd-Even Merge
..................... 654
13.5.3
A Work-Optimal Algorithm
............... 656
13.5.4
An O(log log m)-Time Algorithm
............ 658
13.6
SORTING
............................. 660
13.6.1
Odd-Even Merge Sort
.................. 660
13.6.2
An Alternative Randomized Algorithm
......... 661
13.6.3
Preparata s Algorithm
.................. 662
13.6.4
Reischuk s Randomized Algorithm
(*)......... 663
13.7
GRAPH PROBLEMS
...................... 667
13.7.1
An Alternative Algorithm for Transitive Closure
. . . 670
13.7.2
All-Pairs Shortest Paths
................. 670
13.8
COMPUTING THE CONVEX HULL
............. 671
13.9
LOWER BOUNDS
........................ 674
13.9.1
A lower bound on average-case sorting
......... 676
13.9.2
Finding the maximum
.................. 677
ÎS.IOREFERENCES
AND READINGS
............... 679
lS.HADDITIONAL EXERCISES
.................. 680
14
MESH ALGORITHMS
683
14.1
COMPUTATIONAL MODEL
.................. 683
14.2
PACKET ROUTING
....................... 685
14.2.1
Packet Routing on a Linear Array
........... 686
14.2.2
A Greedy Algorithm for
PPR
on a Mesh
........ 690
14.2.3
A Randomized Algorithm with Small Queues
..... 691
14.3
FUNDAMENTAL ALGORITHMS
............... 695
14.3.1
Broadcasting
....................... 696
14.3.2
Prefix Computation
................... 697
14.3.3
Data Concentration
................... 701
14.3.4
Sparse Enumeration Sort
................ 702
CONTENTS xix
14.4
SELECTION
........................... 706
14.4.1
A Randomized Algorithm for
η = ρ
(*) ........ 707
14.4.2
Randomized Selection for
η
>
ρ
(*)........... 707
14.4.3
A Deterministic Algorithm For n>
ρ
......... 708
14.5
MERGING
............................ 712
14.5.1
Rank Merge on a Linear Array
............. 713
14.5.2
Odd-Even Merge on a Linear Array
.......... 713
14.5.3
Odd-Even Merge on a Mesh
............... 714
14.6
SORTING
............................. 716
14.6.1
Sorting on a Linear Array
................ 716
14.6.2
Sorting on a Mesh
.................... 718
14.7
GRAPH PROBLEMS
...................... 723
14.7.1
An
η χ η
Mesh Algorithm for Transitive Closure
. . . 725
14.7.2
All-Pairs Shortest Paths
................. 726
14.8
COMPUTING THE CONVEX HULL
............. 727
14.9
REFERENCES AND READINGS
............... 732
14.10
ADDITIONAL EXERCISES
.................. 734
15
HYPERCUBE ALGORITHMS
738
15.1
COMPUTATIONAL MODEL
.................. 738
15.1.1
The Hypercube
...................... 738
15.1.2
The Butterfly Network
.................. 741
15.1.3
Embedding of Other Networks
............. 742
15.2
PPR
ROUTING
......................... 747
15.2.1
A Greedy Algorithm
................... 747
15.2.2
A Randomized Algorithm
................ 747
15.3
FUNDAMENTAL ALGORITHMS
............... 751
15.3.1
Broadcasting
....................... 751
15.3.2
Prefix Computation
................... 752
15.3.3
Data Concentration
................... 753
15.3.4
Sparse Enumeration Sort
................ 756
15.4
SELECTION
........................... 759
15.4.1
A Randomized Algorithm for
η
=
ρ
(*) ........ 759
15.4.2
Randomized Selection for
η
>
ρ
(*)........... 759
15.4.3
A Deterministic Algorithm for
η > ρ..........
760
15.5
MERGING
............................ 762
15.5.1
Odd-Even Merge
..................... 762
15.5.2
Bitonic Merge
....................... 764
xx CONTENTS
15.6
SORTING
............................. 765
15.6.1
Odd-Even Merge Sort
.................. 765
15.6.2
Bitonic Sort
........................ 767
15.7
GRAPH PROBLEMS
...................... 768
15.8
COMPUTING THE CONVEX HULL
............. 770
15.9
REFERENCES AND READINGS
............... 771
lö.lOADDITIONAL
EXERCISES
.................. 772
INDEX
1-1
About The Book
Latest Edition Of The Classic Algorithms Text!
Brand new edition of the programming language-independent text that helped establish
computer algorithms as discipline of computer science
-
a thoroughly revised and updated
edition. The text incorporates the latest research and state-of-the-art applications, bringing
this classic to the forefront of modern computer science education. A major strength of this
text is its focus on design techniques rather than on individual algorithms.
Computer Algorithms emphasizes:
•
Design techniques: Divide and conquer, the greedy method, dynamic programming,
backtracking and branch and bound are illustrated with several examples. Each algorithm
is completely analyzed.
•
Examples: A wide range of examples provides students with the actual implementation of
correct design.
•
Tihe
latest research: A thorough treatment of probabilistic and parallel algorithms is included.
•
Full integration of randomized algorithms: Performance with nonrandomized algorithms is
thoroughly compared.
Computer Algorithms is appropriate as a core text for upper- and graduate-level analysis of
algorithms courses.
About The Authors
Ellis Horowitz is a Professor of Computer Science and Electrical Engineering at the University
of Southern California. Dr. Horowitz is the author of ten books and numerous journal articles and
refereed conference proceedings.
Sartaj
Sahni
is a Distinguished Professor and Chair of Computer and Information Sciences and
Engineering at the University of Florida. Dr.
Sahni
has published over three hundred research
papers and written
15
texts.
Sanguthevar Rajasekaran is the UTC Chair Professor of Computer Science and Engineering
at the University of Connecticut. He has published over
150
articles in journals and conferences
co-authored two texts, and co-edited four books
|
adam_txt |
Contents
PREFACE v
1
INTRODUCTION
1
1.1
WHAT IS AN ALGORITHM?
. 1
1.2
ALGORITHM SPECIFICATION
. 5
1.2.1
Pseudocode Conventions
. 5
1.2.2
Recursive Algorithms
.
Ю
1.3
PERFORMANCE ANALYSIS
. 14
1.3.1
Space Complexity
. 15
1.3.2
Time Complexity
. 17
1.3.3
Amortized Complexity
. 28
1.3.4
Asymptotic Notation
(Ο, Ω, Θ)
. 39
1.3.5
Practical Complexities
. 47
1.3.6
Performance Measurement
. 50
1.4
RANDOMIZED ALGORITHMS
. 62
1.4.1
Basics of Probability Theory
. 62
1.4.2
Randomized Algorithms: An Informal Description
. · 67
1.4.3
Identifying the Repeated Element
. 68
1.4.4
Primality Testing
.
70
1.4.5
Advantages and Disadvantages
. 74
1.5
REFERENCES AND READINGS
.
77
2
ELEMENTARY DATA STRUCTURES 79
2.1
STACKS AND QUEUES
.
79
2.2
TREES
. 87
2.2.1
Terminology
. 87
2.2.2
Binary Trees
. 88
2.3
DICTIONARIES
.
92
Xli
CONTENTS xiii
2.3.1
Binary Search Trees
. 93
2.4
PRIORITY QUEUES
.100
2.4.1
Heaps
.101
2.4.2
Heap Sort
.107
2.5
SETS AND DISJOINT SET UNION
.110
2.5.1
Introduction
.110
2.5.2
Union and Find Operations
.
Ill
2.6
GRAPHS
.121
2.6.1
Introduction
. 121
2.6.2
Definitions
. 121
2.6.3
Graph Representations
. 126
2.7
REFERENCES AND READINGS
. 135
3
DIVIDE AND CONQUER
136
3.1
GENERAL METHOD
. 136
3.2
DEFECTIVE CHESSBOARD
. 141
3.3
BINARY SEARCH
. 145
3.4
FINDING THE MAXIMUM
AND MINIMUM
. 153
3.5
MERGE SORT
. 159
3.6
QUICK SORT
. 168
3.6.1
Performance Measurement
. 172
3.6.2
Randomized Sorting Algorithms
. 174
3.7
SELECTION
. 178
3.7.1
A Worst-Case Optimal Algorithm
. 182
3.7.2
Implementation of Select2
. 186
3.8
STRASSEN'S MATRIX MULTIPLICATION
. 192
3.9
CONVEX HULL
. 197
3.9.1
Some Geometric Primitives
. 198
3.9.2
The QuickHull Algorithm
. 199
3.9.3
Graham's Scan
. 200
3.9.4
An
Ο (η
log
η)
Divide-and-Conquer Algorithm
. 203
3.10
REFERENCES AND READINGS
. 207
3.11
ADDITIONAL EXERCISES
. 207
4
THE GREEDY METHOD
210
4.1
THE GENERAL METHOD
.210
4.2
CONTAINER LOADING
.214
4.3
KNAPSACK PROBLEM
.218
xiv CONTENTS
4.4
TREE VERTEX SPLITTING
.222
4.5
JOB SEQUENCING WITH DEADLINES
.227
4.6
MINIMUM-COST SPANNING TREES
.236
4.6.1
Prim's Algorithm
. 237
4.6.2
Kruskal's Algorithm
. 239
4.6.3
An Optimal Randomized Algorithm
(*). 244
4.7
OPTIMAL STORAGE ON TAPES
. 249
4.8
OPTIMAL MERGE PATTERNS
. 253
4.9
SINGLE-SOURCE SHORTEST PATHS
. 260
4.10
REFERENCES AND READINGS
. 268
4.11
ADDITIONAL EXERCISES
. 269
5
DYNAMIC PROGRAMMING
272
5.1
THE GENERAL METHOD
.272
5.2
MULTISTAGE GRAPHS
.276
5.3
ALL-PAIRS SHORTEST PATHS
.284
5.4
SINGLE-SOURCE SHORTEST PATHS:
GENERAL WEIGHTS
.288
5.5
OPTIMAL BINARY SEARCH TREES
(*).293
5.6
STRING EDITING
.302
5.7 0/1
KNAPSACK
.305
5.8
RELIABILITY DESIGN
.315
5.9
THE TRAVELING SALESPERSON
PROBLEM
.318
5.10
FLOW SHOP SCHEDULING
.321
5.11
REFERENCES AND READINGS
.327
5.12
ADDITIONAL EXERCISES
.327
6
BASIC TRAVERSAL AND SEARCH TECHNIQUES
333
6.1
TECHNIQUES FOR BINARY TREES
.333
6.2
TECHNIQUES FOR GRAPHS
.338
6.2.1
Breadth First Search and Traversal
.340
6.2.2
Depth First Search and Traversal
.343
6.3
CONNECTED COMPONENTS AND
SPANNING TREES
.345
6.4
BICONNECTED COMPONENTS AND DFS
.349
6.5
REFERENCES AND READINGS
.358
CONTENTS xv
7
BACKTRACKING
359
7.1
THE GENERAL METHOD
. 359
7.2
THE 8-QUEENS PROBLEM
. 373
7.3
SUM OF SUBSETS
. 377
7.4
GRAPH COLORING
. 380
7.5
HAMILTONIAN CYCLES
. 384
7.6
KNAPSACK PROBLEM
. 387
7.7
REFERENCES AND READINGS
. 393
7.8
ADDITIONAL EXERCISES
. 394
8
BRANCH AND BOUND
399
8.1
THE METHOD
. 399
8.1.1
Least Cost (LC) Search
. 400
8.1.2
The 15-puzzle: An Example
. 402
8.1.3
Control Abstractions for LC-Search
. 406
8.1.4
Bounding
. 408
8.1.5
FIFO Branch-and-Bound
. 411
8.1.6
LC Branch-and-Bound
. 412
8.2 0/1
KNAPSACK PROBLEM
. 413
8.2.1
LC Branch-and-Bound Solution
. 414
8.2.2
FIFO Branch-and-Bound Solution
. 417
8.3
TRAVELING SALESPERSON
(*). 422
8.4
EFFICIENCY CONSIDERATIONS
. 431
8.5
REFERENCES AND READINGS
. 434
9
ALGEBRAIC PROBLEMS
436
9.1
THE GENERAL METHOD
. 436
9.2
EVALUATION AND INTERPOLATION
. 439
9.3
THE FAST FOURIER TRANSFORM
. 448
9.3.1
An In-place Version of the FFT
. 454
9.3.2
Some Remaining Points
. 457
9.4
MODULAR ARITHMETIC
. 458
9.5
EVEN FASTER EVALUATION
AND INTERPOLATION
. 466
9.6
REFERENCES AND READINGS
. 474
xvi CONTENTS
10
LOWER BOUND THEORY
476
10.1
COMPARISON TREES
. 477
10.1.1
Ordered Searching
. 478
10.1.2
Sorting
. 478
10.1.3
Selection
. 483
10.2
ORACLES AND
ADVERSARY ARGUMENTS
. 485
10.2.1
Merging
. 486
10.2.2
Largest and Second Largest
. 487
10.2.3
State Space Method
. 489
10.2.4
Selection
. 490
10.3
LOWER BOUNDS
THROUGH REDUCTIONS
. 493
10.3.1
Finding the Convex Hull
. 494
10.3.2
Disjoint Sets Problem
. 494
10.3.3
On-line Median Finding
. 496
10.3.4
Multiplying Triangular Matrices
. 496
10.3.5
Inverting a Lower Triangular Matrix
. 497
10.3.6
Computing the Transitive Closure
. 499
10.4
TECHNIQUES FOR
ALGEBRAIC PROBLEMS
(*). 503
10.5
REFERENCES AND READINGS
. 512
11
tfP-HAKD AND JVP-COMPLETE PROBLEMS
514
11.1
BASIC CONCEPTS
. 514
11.1.1
Nondeterministic Algorithms
. 515
11.1.2
The Classes JvT-hard and jVP-complete
. 523
11.2
COOK'S THEOREM
(*) . 527
11.3
Λίν
-UARD
GRAPH PROBLEMS
. 536
11.3.1
CUque Decision Problem (CDP)
. 537
11.3.2
Node Cover Decision Problem (NCDP)
. 538
11.3.3
Chromatic Number Decision Problem (CNDP)
. 539
11.3.4
Directed Hamiltonian Cycle (DHC)
(*) . 541
11.3.5
Traveling Salesperson Decision Problem (TSP)
. 545
11.3.6
AND/OR Graph Decision Problem (AOG)
. 545
11.4
TVP-HARD SCHEDULING PROBLEMS
. 552
11.4.1
Scheduling Identical Processors
. 553
11.4.2
Flow Shop Scheduling
. 555
CONTENTS xvii
11.4.3 Job Shop
Scheduling
.557
11.5 AfV-RAKD CODE GENERATION
PROBLEMS . 559
11.5.1 Code Generation
with Common Subexpressions
. 562
11.5.2
Implementing Parallel Assignment Instructions
. 565
11.6
SOME SIMPLIFIED
AfV-RAKD PROBLEMS
.568
11.7
REFERENCES AND READINGS
.572
11.8
ADDITIONAL EXERCISES
.572
12
APPROXIMATION ALGORITHMS
576
12.1
INTRODUCTION
.576
12.2
ABSOLUTE APPROXIMATIONS
. 580
12.2.1
Planar Graph Coloring
.580
12.2.2
Maximum Programs Stored Problem
.580
12.2.3
AfV-hard Absolute Approximations
.582
12.3
e-APPROXIMATIONS
.584
12.3.1
Scheduling Independent Tasks
.584
12.3.2
Bin Packing
.588
12.3.3
./V^-hard
е
-approximation Problems
.591
12.4
POLYNOMIAL TIME APPROXIMATION SCHEMES
. 597
12.4.1
Scheduling Independent Tasks
.597
12.4.2 0/1
Knapsack
.599
12.5
FULLY POLYNOMIAL TIME
APPROXIMATION SCHEMES
.604
12.5.1
Rounding
.605
12.5.2
Interval Partitioning
.609
12.5.3
Separation
.610
12.6
PROBABILISTICALLY GOOD
ALGORITHMS
(*).615
12.7
REFERENCES AND READINGS
.618
12.8
ADDITIONAL EXERCISES
.618
13
PRAM ALGORITHMS
623
13.1
INTRODUCTION
.623
13.2
COMPUTATIONAL MODEL
.626
13.3
FUNDAMENTAL TECHNIQUES
AND ALGORITHMS
.632
13.3.1
Prefix Computation
.633
XVIII
CONTENTS
13.3.2
List Ranking
. 635
13.4
SELECTION
. 644
13.4.1
Maximal Selection with n2 Processors
. 645
13.4.2
Finding the Maximum Using
η
Processors
. 646
13.4.3
Maximal Selection Among Integers
. 646
13.4.4
General Selection Using n2 Processors
. 649
13.4.5
A Work-Optimal Randomized Algorithm
(*) . 649
13.5
MERGING
. 653
13.5.1
A Logarithmic Time Algorithm
. 653
13.5.2
Odd-Even Merge
. 654
13.5.3
A Work-Optimal Algorithm
. 656
13.5.4
An O(log log m)-Time Algorithm
. 658
13.6
SORTING
. 660
13.6.1
Odd-Even Merge Sort
. 660
13.6.2
An Alternative Randomized Algorithm
. 661
13.6.3
Preparata's Algorithm
. 662
13.6.4
Reischuk's Randomized Algorithm
(*). 663
13.7
GRAPH PROBLEMS
. 667
13.7.1
An Alternative Algorithm for Transitive Closure
. . . 670
13.7.2
All-Pairs Shortest Paths
. 670
13.8
COMPUTING THE CONVEX HULL
. 671
13.9
LOWER BOUNDS
. 674
13.9.1
A lower bound on average-case sorting
. 676
13.9.2
Finding the maximum
. 677
ÎS.IOREFERENCES
AND READINGS
. 679
lS.HADDITIONAL EXERCISES
. 680
14
MESH ALGORITHMS
683
14.1
COMPUTATIONAL MODEL
. 683
14.2
PACKET ROUTING
. 685
14.2.1
Packet Routing on a Linear Array
. 686
14.2.2
A Greedy Algorithm for
PPR
on a Mesh
. 690
14.2.3
A Randomized Algorithm with Small Queues
. 691
14.3
FUNDAMENTAL ALGORITHMS
. 695
14.3.1
Broadcasting
. 696
14.3.2
Prefix Computation
. 697
14.3.3
Data Concentration
. 701
14.3.4
Sparse Enumeration Sort
. 702
CONTENTS xix
14.4
SELECTION
. 706
14.4.1
A Randomized Algorithm for
η = ρ
(*) . 707
14.4.2
Randomized Selection for
η
>
ρ
(*). 707
14.4.3
A Deterministic Algorithm For n>
ρ
. 708
14.5
MERGING
. 712
14.5.1
Rank Merge on a Linear Array
. 713
14.5.2
Odd-Even Merge on a Linear Array
. 713
14.5.3
Odd-Even Merge on a Mesh
. 714
14.6
SORTING
. 716
14.6.1
Sorting on a Linear Array
. 716
14.6.2
Sorting on a Mesh
. 718
14.7
GRAPH PROBLEMS
. 723
14.7.1
An
η χ η
Mesh Algorithm for Transitive Closure
. . . 725
14.7.2
All-Pairs Shortest Paths
. 726
14.8
COMPUTING THE CONVEX HULL
. 727
14.9
REFERENCES AND READINGS
. 732
14.10
ADDITIONAL EXERCISES
. 734
15
HYPERCUBE ALGORITHMS
738
15.1
COMPUTATIONAL MODEL
. 738
15.1.1
The Hypercube
. 738
15.1.2
The Butterfly Network
. 741
15.1.3
Embedding of Other Networks
. 742
15.2
PPR
ROUTING
. 747
15.2.1
A Greedy Algorithm
. 747
15.2.2
A Randomized Algorithm
. 747
15.3
FUNDAMENTAL ALGORITHMS
. 751
15.3.1
Broadcasting
. 751
15.3.2
Prefix Computation
. 752
15.3.3
Data Concentration
. 753
15.3.4
Sparse Enumeration Sort
. 756
15.4
SELECTION
. 759
15.4.1
A Randomized Algorithm for
η
=
ρ
(*) . 759
15.4.2
Randomized Selection for
η
>
ρ
(*). 759
15.4.3
A Deterministic Algorithm for
η > ρ.
760
15.5
MERGING
. 762
15.5.1
Odd-Even Merge
. 762
15.5.2
Bitonic Merge
. 764
xx CONTENTS
15.6
SORTING
. 765
15.6.1
Odd-Even Merge Sort
. 765
15.6.2
Bitonic Sort
. 767
15.7
GRAPH PROBLEMS
. 768
15.8
COMPUTING THE CONVEX HULL
. 770
15.9
REFERENCES AND READINGS
. 771
lö.lOADDITIONAL
EXERCISES
. 772
INDEX
1-1
About The Book
Latest Edition Of The Classic Algorithms Text!
Brand new edition of the programming language-independent text that helped establish
computer algorithms as discipline of computer science
-
a thoroughly revised and updated
edition. The text incorporates the latest research and state-of-the-art applications, bringing
this classic to the forefront of modern computer science education. A major strength of this
text is its focus on design techniques rather than on individual algorithms.
Computer Algorithms emphasizes:
•
Design techniques: Divide and conquer, the greedy method, dynamic programming,
backtracking and branch and bound are illustrated with several examples. Each algorithm
is completely analyzed.
•
Examples: A wide range of examples provides students with the actual implementation of
correct design.
•
Tihe
latest research: A thorough treatment of probabilistic and parallel algorithms is included.
•
Full integration of randomized algorithms: Performance with nonrandomized algorithms is
thoroughly compared.
Computer Algorithms is appropriate as a core text for upper- and graduate-level analysis of
algorithms courses.
About The Authors
Ellis Horowitz is a Professor of Computer Science and Electrical Engineering at the University
of Southern California. Dr. Horowitz is the author of ten books and numerous journal articles and
refereed conference proceedings.
Sartaj
Sahni
is a Distinguished Professor and Chair of Computer and Information Sciences and
Engineering at the University of Florida. Dr.
Sahni
has published over three hundred research
papers and written
15
texts.
Sanguthevar Rajasekaran is the UTC Chair Professor of Computer Science and Engineering
at the University of Connecticut. He has published over
150
articles in journals and conferences
co-authored two texts, and co-edited four books |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Horowitz, Ellis 1944- Sahni, Sartaj 1949- Rajasekaran, Sanguthevar 1957- |
author_GND | (DE-588)109812050 (DE-588)109812069 (DE-588)129645524 |
author_facet | Horowitz, Ellis 1944- Sahni, Sartaj 1949- Rajasekaran, Sanguthevar 1957- |
author_role | aut aut aut |
author_sort | Horowitz, Ellis 1944- |
author_variant | e h eh s s ss s r sr |
building | Verbundindex |
bvnumber | BV023325557 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.9.A43 |
callnumber-search | QA76.9.A43 |
callnumber-sort | QA 276.9 A43 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 134 |
ctrlnum | (OCoLC)165083482 (DE-599)BVBBV023325557 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02017nam a2200469zc 4500</leader><controlfield tag="001">BV023325557</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090421 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080603s2008 xxud||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007033822</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780929306414</subfield><subfield code="9">978-0-929306-41-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)165083482</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023325557</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.9.A43</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 134</subfield><subfield code="0">(DE-625)143590:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Horowitz, Ellis</subfield><subfield code="d">1944-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)109812050</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Computer algorithms</subfield><subfield code="c">Ellis Horowitz ; Sartaj Sahni ; Sanguthevar Rajasekaran</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Summit, NJ</subfield><subfield code="b">Silicon Press</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XX, 773, 11 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">3. Verf. in Vorlage mehrfach fälschlicherweise als "Rajasekeran" angegeben!</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer algorithms</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Pseudocode (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Algorithmus</subfield><subfield code="0">(DE-588)4001183-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computer</subfield><subfield code="0">(DE-588)4070083-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Computer</subfield><subfield code="0">(DE-588)4070083-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Algorithmus</subfield><subfield code="0">(DE-588)4001183-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Sahni, Sartaj</subfield><subfield code="d">1949-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)109812069</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Rajasekaran, Sanguthevar</subfield><subfield code="d">1957-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)129645524</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Klappentext</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016509577</subfield></datafield></record></collection> |
id | DE-604.BV023325557 |
illustrated | Illustrated |
index_date | 2024-07-02T20:55:26Z |
indexdate | 2024-07-09T21:15:55Z |
institution | BVB |
isbn | 9780929306414 |
language | English |
lccn | 2007033822 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016509577 |
oclc_num | 165083482 |
open_access_boolean | |
owner | DE-703 |
owner_facet | DE-703 |
physical | XX, 773, 11 S. graph. Darst. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Silicon Press |
record_format | marc |
spelling | Horowitz, Ellis 1944- Verfasser (DE-588)109812050 aut Computer algorithms Ellis Horowitz ; Sartaj Sahni ; Sanguthevar Rajasekaran 2. ed. Summit, NJ Silicon Press 2008 XX, 773, 11 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier 3. Verf. in Vorlage mehrfach fälschlicherweise als "Rajasekeran" angegeben! Computer algorithms Pseudocode (Computer program language) Algorithmus (DE-588)4001183-5 gnd rswk-swf Computer (DE-588)4070083-5 gnd rswk-swf Computer (DE-588)4070083-5 s Algorithmus (DE-588)4001183-5 s DE-604 Sahni, Sartaj 1949- Verfasser (DE-588)109812069 aut Rajasekaran, Sanguthevar 1957- Verfasser (DE-588)129645524 aut Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA Klappentext |
spellingShingle | Horowitz, Ellis 1944- Sahni, Sartaj 1949- Rajasekaran, Sanguthevar 1957- Computer algorithms Computer algorithms Pseudocode (Computer program language) Algorithmus (DE-588)4001183-5 gnd Computer (DE-588)4070083-5 gnd |
subject_GND | (DE-588)4001183-5 (DE-588)4070083-5 |
title | Computer algorithms |
title_auth | Computer algorithms |
title_exact_search | Computer algorithms |
title_exact_search_txtP | Computer algorithms |
title_full | Computer algorithms Ellis Horowitz ; Sartaj Sahni ; Sanguthevar Rajasekaran |
title_fullStr | Computer algorithms Ellis Horowitz ; Sartaj Sahni ; Sanguthevar Rajasekaran |
title_full_unstemmed | Computer algorithms Ellis Horowitz ; Sartaj Sahni ; Sanguthevar Rajasekaran |
title_short | Computer algorithms |
title_sort | computer algorithms |
topic | Computer algorithms Pseudocode (Computer program language) Algorithmus (DE-588)4001183-5 gnd Computer (DE-588)4070083-5 gnd |
topic_facet | Computer algorithms Pseudocode (Computer program language) Algorithmus Computer |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016509577&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT horowitzellis computeralgorithms AT sahnisartaj computeralgorithms AT rajasekaransanguthevar computeralgorithms |