Algorithm Design – Foundations, Analysis & Internet Examples (WSE)
Foundations, Analysis, and Internet Examples
Paperback Engels 2001 9780471383659Samenvatting
Michael Goodrich and Roberto Tamassia, authors of the successful, Data Structures and Algorithms in Java, 2/e, have written Algorithm Engineering, a text designed to provide a comprehensive introduction to the design, implementation and analysis of computer algorithms and data structures from a modern perspective. This book offers theoretical analysis techniques as well as algorithmic design patterns and experimental methods for the engineering of algorithms.
Market: Computer Scientists; Programmers.
Specificaties
Lezersrecensies
Inhoudsopgave
<p>1 Algorithm Analysis 3</p>
<p>1.1 Methodologies for Analyzing Algorithms 5</p>
<p>1.2 Asymptotic Notation 13</p>
<p>1.3 A Quick Mathematical Review 21</p>
<p>1.4 Case Studies in Algorithm Analysis 31</p>
<p>1.5 Amortization 34</p>
<p>1.6 Experimentation 42</p>
<p>1.7 Exercises 47</p>
<p>2 Basic Data Structures 55</p>
<p>2.1 Stack sand Queues 57</p>
<p>2.2 Vectors, Lists, and Sequences 65</p>
<p>2.3 Trees 75</p>
<p>2.4 Priority Queues and Heaps 94</p>
<p>2.5 Dictionaries and Hash Tables 114</p>
<p>2.6 Java Example: Heap 128</p>
<p>2.7 Exercises 131</p>
<p>3 Search Trees and Skip Lists 139</p>
<p>3.1 Ordered Dictionaries and Binary Search Trees 141</p>
<p>3.2 AVL Trees 152</p>
<p>3.3 Bounded–Depth Search Trees 159</p>
<p>3.4 Splay Trees 185</p>
<p>3.5 Sk i p Lists 195</p>
<p>3.6 Java Example: AVL and Red–Black Trees 202</p>
<p>3.7 Exercises 212</p>
<p>4 Sorting, Sets, and Selection 217</p>
<p>4.1 Merge–Sort 219</p>
<p>4.2 The Set Abstract Data Type 225</p>
<p>4.3 Quick –Sort 235</p>
<p>4.4 A Lower Bound on Comparison–Based Sorting 239</p>
<p>4.5 Buck et–Sort and Radix–Sort 241</p>
<p>4.6 Comparison of Sorting Algorithms 244</p>
<p>4.7 Selection 245</p>
<p>4.8 Java Example: In–Place Quick –Sort 248</p>
<p>4.9 Exercises 251</p>
<p>5 Fundamental Techniques 257</p>
<p>5.1 The GreedyMethod 259</p>
<p>5.2 Divide–and–Conquer 263</p>
<p>5.3 Dynamic Programming 274</p>
<p>5.4 Exercises 282</p>
<p>II Graph Algorithms 285</p>
<p>6 Graphs 287</p>
<p>6.1 The Graph Abstract Data Type 289</p>
<p>6.2 Data Structures for Graphs 296</p>
<p>6.3 Graph Traversal 303</p>
<p>6.4 Directed Graphs 316</p>
<p>6.5 Java Example: Depth–First Search 329</p>
<p>6.6 Exercises 335</p>
<p>7 Weighted Graphs 339</p>
<p>7.1 Single–Source Shortest Paths 341</p>
<p>7.2 All–Pairs Shortest Paths 354</p>
<p>7.3 Minimum Spanning Trees 360</p>
<p>7.4 Java Example: Dijk stra s Algorithm 373</p>
<p>7.5 Exercises 376</p>
<p>8 Network Flow and Matching 381</p>
<p>8.1 Flows and Cuts 383</p>
<p>8.2 Maximum Flow 387</p>
<p>8.3 Maximum BipartiteMatching 396</p>
<p>8.4 Minimum–Cost Flow 398</p>
<p>8.5 Java Example: Minimum–Cost Flow 405</p>
<p>8.6 Exercises 412</p>
<p>III Internet Algorithmics 415</p>
<p>9 Text Processing 417</p>
<p>9.1 Strings and PatternMatching Algorithms 419</p>
<p>9.2 Tries 429</p>
<p>9.3 Text Compression 440</p>
<p>9.4 Text Similarity Testing 443</p>
<p>9.5 Exercises 447</p>
<p>10 Number Theory and Cryptography 451</p>
<p>10.1 Fundamental Algorithms Involving Numbers 453</p>
<p>10.2 Cryptographic Computations 471</p>
<p>10.3 Information Security Algorithms and Protocols 481</p>
<p>10.4 The Fast Fourier Transform 488</p>
<p>10.5 Java Example: FFT 500</p>
<p>10.6 Exercises 508</p>
<p>11 Network Algorithms 511</p>
<p>11.1 ComplexityMeasures and Models 513</p>
<p>11.2 Fundamental Distributed Algorithms 517</p>
<p>11.3 Broadcast and Unicast Routing 530</p>
<p>11.4 Multicast Routing 535</p>
<p>11.5 Exercises 541</p>
<p>IV Additional Topics 545</p>
<p>12 Computational Geometry 547</p>
<p>12.1 Range Trees 549</p>
<p>12.2 Priority Search Trees 556</p>
<p>12.3 Quadtrees and k–D Trees 561</p>
<p>12.4 The Plane Sweep Technique 565</p>
<p>12.5 Convex Hulls 572</p>
<p>12.6 Java Example: Convex Hull 583</p>
<p>12.7 Exercises 587</p>
<p>13 NP–Completeness 591</p>
<p>13.1 P and NP 593</p>
<p>13.2 NP–Completeness 599</p>
<p>13.3 Important NP–Complete Problems 603</p>
<p>13.4 Approximation Algorithms 618</p>
<p>13.5 Back track i ng and Branch–and–Bound 627</p>
<p>13.6 Exercises 638</p>
<p>14 Algorithmic Frameworks 643</p>
<p>14.1 External–Memory Algorithms 645</p>
<p>14.2 Parallel Algorithms 657</p>
<p>14.3 Online Algorithms 667</p>
<p>14.4 Exercises 680</p>
<p>A Useful Mathematical Facts 685</p>
<p>Bibliography 689</p>
<p>Index 698</p>
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan