{"product_id":"algorithm-design-isbn-9780471383659","title":"Algorithm Design","description":"\u003cp\u003e Are you looking for something different in your Algorithms text? Are you looking for an Algorithms text that offers theoretical analysis techniques as well as design patterns and experimental methods for the engineering of algorithms?  Michael Goodrich and Roberto Tamassia, authors of the successful, Data Structures and Algorithms in Java, 2\/e, have written Algorithm Design, a text designed to provide a comprehensive introduction to the design, implementation and analysis of computer algorithms and data structures from a modern perspective.\u003c\/p\u003e  \u003cp\u003e Written for an undergraduate, junior-senior algorithms course this text offers several implementation case studies and uses Internet applications to motivate many topics such as hashing, sorting and searching. \u003c\/p\u003eAlles über die Implementation von Datenstrukturen und Algorithmen: Die Autoren zeigen Ihnen, dass Sie mehr benötigen als nur theoretisch-algorithmische Kenntnisse, nämlich auch ingenieurtechnische Entwurfsprinzipien: abstrakte Datentypen, objektorientierte Entwurfsmuster und Strategien, die Robustheit und Benutzerfreundlichkeit sichern. Behandelt werden u.a. die schnelle Fourier-Transformation (FFT), Kryptologie, Parallelität und NP-Vollständigkeit. \u003cp\u003e\u003cb\u003eI Fundamental Tools 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Algorithm Analysis 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Methodologies for Analyzing Algorithms  5\u003c\/p\u003e \u003cp\u003e1.2 Asymptotic Notation 13\u003c\/p\u003e \u003cp\u003e1.3 A Quick Mathematical Review  21\u003c\/p\u003e \u003cp\u003e1.4 Case Studies in Algorithm Analysis  31\u003c\/p\u003e \u003cp\u003e1.5 Amortization  34\u003c\/p\u003e \u003cp\u003e1.6 Experimentation  42\u003c\/p\u003e \u003cp\u003e1.7 Exercises  47\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Basic Data Structures 55\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Stack sand Queues  57\u003c\/p\u003e \u003cp\u003e2.2 Vectors, Lists, and Sequences  65\u003c\/p\u003e \u003cp\u003e2.3 Trees  75\u003c\/p\u003e \u003cp\u003e2.4 Priority Queues and Heaps  94\u003c\/p\u003e \u003cp\u003e2.5 Dictionaries and Hash Tables  114\u003c\/p\u003e \u003cp\u003e2.6 Java Example: Heap  128\u003c\/p\u003e \u003cp\u003e2.7 Exercises  131\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Search Trees and Skip Lists 139\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Ordered Dictionaries and Binary Search Trees  141\u003c\/p\u003e \u003cp\u003e3.2 AVL Trees  152\u003c\/p\u003e \u003cp\u003e3.3 Bounded-Depth Search Trees  159\u003c\/p\u003e \u003cp\u003e3.4 Splay Trees  185\u003c\/p\u003e \u003cp\u003e3.5 Sk i p Lists  195\u003c\/p\u003e \u003cp\u003e3.6 Java Example: AVL and Red-Black Trees  202\u003c\/p\u003e \u003cp\u003e3.7 Exercises  212\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Sorting, Sets, and Selection 217\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Merge-Sort  219\u003c\/p\u003e \u003cp\u003e4.2 The Set Abstract Data Type  225\u003c\/p\u003e \u003cp\u003e4.3 Quick -Sort  235\u003c\/p\u003e \u003cp\u003e4.4 A Lower Bound on Comparison-Based Sorting  239\u003c\/p\u003e \u003cp\u003e4.5 Buck et-Sort and Radix-Sort  241\u003c\/p\u003e \u003cp\u003e4.6 Comparison of Sorting Algorithms  244\u003c\/p\u003e \u003cp\u003e4.7 Selection  245\u003c\/p\u003e \u003cp\u003e4.8 Java Example: In-Place Quick -Sort  248\u003c\/p\u003e \u003cp\u003e4.9 Exercises  251\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Fundamental Techniques 257\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 The GreedyMethod  259\u003c\/p\u003e \u003cp\u003e5.2 Divide-and-Conquer  263\u003c\/p\u003e \u003cp\u003e5.3 Dynamic Programming  274\u003c\/p\u003e \u003cp\u003e5.4 Exercises  282\u003c\/p\u003e \u003cp\u003e\u003cb\u003eII Graph Algorithms 285\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Graphs 287\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 The Graph Abstract Data Type  289\u003c\/p\u003e \u003cp\u003e6.2 Data Structures for Graphs  296\u003c\/p\u003e \u003cp\u003e6.3 Graph Traversal  303\u003c\/p\u003e \u003cp\u003e6.4 Directed Graphs  316\u003c\/p\u003e \u003cp\u003e6.5 Java Example: Depth-First Search  329\u003c\/p\u003e \u003cp\u003e6.6 Exercises  335\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Weighted Graphs 339\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Single-Source Shortest Paths  341\u003c\/p\u003e \u003cp\u003e7.2 All-Pairs Shortest Paths  354\u003c\/p\u003e \u003cp\u003e7.3 Minimum Spanning Trees  360\u003c\/p\u003e \u003cp\u003e7.4 Java Example: Dijk stra’s Algorithm  373\u003c\/p\u003e \u003cp\u003e7.5 Exercises  376\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Network Flow and Matching 381\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Flows and Cuts  383\u003c\/p\u003e \u003cp\u003e8.2 Maximum Flow  387\u003c\/p\u003e \u003cp\u003e8.3 Maximum BipartiteMatching  396\u003c\/p\u003e \u003cp\u003e8.4 Minimum-Cost Flow  398\u003c\/p\u003e \u003cp\u003e8.5 Java Example: Minimum-Cost Flow  405\u003c\/p\u003e \u003cp\u003e8.6 Exercises  412\u003c\/p\u003e \u003cp\u003e\u003cb\u003eIII Internet Algorithmics 415\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Text Processing 417\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Strings and PatternMatching Algorithms  419\u003c\/p\u003e \u003cp\u003e9.2 Tries  429\u003c\/p\u003e \u003cp\u003e9.3 Text Compression  440\u003c\/p\u003e \u003cp\u003e9.4 Text Similarity Testing  443\u003c\/p\u003e \u003cp\u003e9.5 Exercises  447\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Number Theory and Cryptography 451\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Fundamental Algorithms Involving Numbers  453\u003c\/p\u003e \u003cp\u003e10.2 Cryptographic Computations  471\u003c\/p\u003e \u003cp\u003e10.3 Information Security Algorithms and Protocols  481\u003c\/p\u003e \u003cp\u003e10.4 The Fast Fourier Transform  488\u003c\/p\u003e \u003cp\u003e10.5 Java Example: FFT  500\u003c\/p\u003e \u003cp\u003e10.6 Exercises  508\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Network Algorithms 511\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 ComplexityMeasures and Models  513\u003c\/p\u003e \u003cp\u003e11.2 Fundamental Distributed Algorithms  517\u003c\/p\u003e \u003cp\u003e11.3 Broadcast and Unicast Routing  530\u003c\/p\u003e \u003cp\u003e11.4 Multicast Routing  535\u003c\/p\u003e \u003cp\u003e11.5 Exercises  541\u003c\/p\u003e \u003cp\u003e\u003cb\u003eIV Additional Topics 545\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Computational Geometry 547\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 Range Trees  549\u003c\/p\u003e \u003cp\u003e12.2 Priority Search Trees  556\u003c\/p\u003e \u003cp\u003e12.3 Quadtrees and k-D Trees  561\u003c\/p\u003e \u003cp\u003e12.4 The Plane Sweep Technique  565\u003c\/p\u003e \u003cp\u003e12.5 Convex Hulls  572\u003c\/p\u003e \u003cp\u003e12.6 Java Example: Convex Hull  583\u003c\/p\u003e \u003cp\u003e12.7 Exercises  587\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 NP-Completeness 591\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 P and NP  593\u003c\/p\u003e \u003cp\u003e13.2 NP-Completeness  599\u003c\/p\u003e \u003cp\u003e13.3 Important NP-Complete Problems  603\u003c\/p\u003e \u003cp\u003e13.4 Approximation Algorithms  618\u003c\/p\u003e \u003cp\u003e13.5 Back track i ng and Branch-and-Bound  627\u003c\/p\u003e \u003cp\u003e13.6 Exercises  638\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Algorithmic Frameworks 643\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e14.1 External-Memory Algorithms  645\u003c\/p\u003e \u003cp\u003e14.2 Parallel Algorithms  657\u003c\/p\u003e \u003cp\u003e14.3 Online Algorithms  667\u003c\/p\u003e \u003cp\u003e14.4 Exercises  680\u003c\/p\u003e \u003cp\u003eA Useful Mathematical Facts 685\u003c\/p\u003e \u003cp\u003eBibliography 689\u003c\/p\u003e \u003cp\u003eIndex 698\u003c\/p\u003e  \u003cp\u003eMichael T. Goodrich is a mathematician and computer scientist. He is a Chancellor's Professor and the chair of Department of Computer Science, of Donald Bren School of Information and Computer Sciences, a school of University of California, Irvine. Roberto Tamassia is the author of Algorithm Design: Foundations, Analysis, and Internet Examples, published by Wiley.\u003c\/p\u003e","brand":"Wiley","offers":[{"title":"Default Title","offer_id":47988712964325,"sku":"NP9780471383659","price":147.5,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780471383659.jpg?v=1761781294","url":"https:\/\/k12savings.com\/products\/algorithm-design-isbn-9780471383659","provider":"K12savings","version":"1.0","type":"link"}