Algorithms and Data Structures The Basic Toolbox
This concise introduction is ideal for readers familiar with programming and basic mathematical language. It uses pictures, words and high-level pseudocode to explain algorithms and presents efficient implementations using real programming languages.
Saved in:
Main Authors | , |
---|---|
Format | eBook Book |
Language | English |
Published |
Berlin, Heidelberg
Springer Nature
2008
Springer Springer Berlin / Heidelberg Springer Berlin Heidelberg |
Edition | 1 |
Subjects | |
Online Access | Get full text |
ISBN | 9783540779780 3540779787 9783540779773 3540779779 |
DOI | 10.1007/978-3-540-77978-0 |
Cover
Abstract | This concise introduction is ideal for readers familiar with programming and basic mathematical language. It uses pictures, words and high-level pseudocode to explain algorithms and presents efficient implementations using real programming languages. |
---|---|
AbstractList | This concise introduction is ideal for readers familiar with programming and basic mathematical language. It uses pictures, words and high-level pseudocode to explain algorithms and presents efficient implementations using real programming languages. Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer should know about the basic algorithmic toolbox: structures that allow efficient organization and retrieval of data, frequently used algorithms, and basic techniques for modeling, understanding and solving algorithmic problems. This book is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, and optimization. The algorithms are presented in a modern way, with explicitly formulated invariants, and comment on recent trends such as algorithm engineering, memory hierarchies, algorithm libraries and certifying algorithms. The authors use pictures, words and high-level pseudocode to explain the algorithms, and then they present more detail on efficient implementations using real programming languages like C++ and Java. The authors have extensive experience teaching these subjects to undergraduates and graduates, and they offer a clear presentation, with examples, pictures, informal explanations, exercises, and some linkage to the real world. Most chapters have the same basic structure: a motivation for the problem, comments on the most important applications, and then simple solutions presented as informally as possible and as formally as necessary. For the more advanced issues, this approach leads to a more mathematical treatment, including some theorems and proofs. Finally, each chapter concludes with a section on further findings, providing views on the state of research, generalizations and advanced solutions. |
Author | Mehlhorn, Kurt Sanders, Peter |
Author_xml | – sequence: 1 fullname: Mehlhorn, Kurt – sequence: 2 fullname: Sanders, Peter |
BackLink | https://cir.nii.ac.jp/crid/1130282271070390528$$DView record in CiNii |
BookMark | eNqFkMtOwzAQRY14iBb6AWxQhZAQi8CMJ7aTZSnlIVViAWJrOYnTBtKkxCn8Pk7DBjbMYl46d6S5Q7ZX1ZVl7AThCgHUdayigAIRQqBU18MOG_lKfrNdwO6feZ8NOUAUcxmhPGADrjiB7-mQjZx7Ax-EEiMasNNJuaibol2u3NhU2fjWtGb83DabtN001h2z_dyUzo5-6hF7vZu9TB-C-dP943QyD0wouYCApImTRAjLIVfAwZgwRyHzOJFZRqlVYQbWJIiJinLELCGyKsfMmij0CeiIXfaHjXu3X25Zl63Tn6VN6vrd6V_fefa6Z926KaqFbXRPIejOr47WpD2vtwLdKS56xbqpPzbWtXp7OLVV25hSz26mkpDH3qH_Se9kCCg9ed6TVVHotOgyIgGPOFcICigGwSOPnfVYapwpPaZXdVUvGrNeOi0oRBEK-ga164gm |
ContentType | eBook Book |
Copyright | Springer-Verlag Berlin Heidelberg 2008 |
Copyright_xml | – notice: Springer-Verlag Berlin Heidelberg 2008 |
DBID | I4C RYH |
DEWEY | 005.1 |
DOI | 10.1007/978-3-540-77978-0 |
DatabaseName | Casalini Torrossa eBooks Institutional Catalogue CiNii Complete |
DatabaseTitleList | |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISBN | 9783540779780 3540779787 |
Edition | 1 2008 edition. |
Editor | Sanders, Peter |
Editor_xml | – sequence: 1 fullname: Sanders, Peter |
ExternalDocumentID | 9783540779780 159105 EBC6312981 EBC3064016 BA8632478X 5341545 |
GroupedDBID | -T. 089 0D6 0DA 38. A4J AABBV AAJYQ AATVQ AAUKK ABBUY ABCYT ABGTP ABMNI ACANT ACDTA ACDUY ACHXG ACKTP ADVHH AEHEY AEHWL AEJLV AEKFX AETDV AEZAY AHNNE ALMA_UNASSIGNED_HOLDINGS ATJMZ AZZ BBABE CZZ E6I I4C IEZ JJU MMI NUU SBO SVJCK TPJZQ UR3 Z83 Z84 Z88 RYH AAFYB |
ID | FETCH-LOGICAL-a46250-36a9bb55e20f7020aa4f156f9b6dd3ce74d0eab11b78f11db33e7f1dea84dea03 |
ISBN | 9783540779780 3540779787 9783540779773 3540779779 |
IngestDate | Fri Jul 25 04:36:05 EDT 2025 Tue Jul 29 20:27:24 EDT 2025 Wed Apr 16 07:05:40 EDT 2025 Tue Sep 09 06:55:10 EDT 2025 Thu Jun 26 22:02:36 EDT 2025 Tue Sep 09 06:53:45 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | false |
LCCN | 2008926816 |
LCCallNum_Ident | Q |
Language | English |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-a46250-36a9bb55e20f7020aa4f156f9b6dd3ce74d0eab11b78f11db33e7f1dea84dea03 |
Notes | Includes bibliographical references (p. [273]-283) and index |
OCLC | 272306813 |
PQID | EBC3064016 |
PageCount | 304 |
ParticipantIDs | askewsholts_vlebooks_9783540779780 springer_books_10_1007_978_3_540_77978_0 proquest_ebookcentral_EBC6312981 proquest_ebookcentral_EBC3064016 nii_cinii_1130282271070390528 casalini_monographs_5341545 |
PublicationCentury | 2000 |
PublicationDate | 2008 c2008 2008-05-27 |
PublicationDateYYYYMMDD | 2008-01-01 2008-05-27 |
PublicationDate_xml | – year: 2008 text: 2008 |
PublicationDecade | 2000 |
PublicationPlace | Berlin, Heidelberg |
PublicationPlace_xml | – name: Netherlands – name: Berlin – name: Berlin/Heidelberg – name: Berlin, Heidelberg |
PublicationYear | 2008 |
Publisher | Springer Nature Springer Springer Berlin / Heidelberg Springer Berlin Heidelberg |
Publisher_xml | – name: Springer Nature – name: Springer – name: Springer Berlin / Heidelberg – name: Springer Berlin Heidelberg |
SSID | ssj0000316183 |
Score | 2.515654 |
Snippet | This concise introduction is ideal for readers familiar with programming and basic mathematical language. It uses pictures, words and high-level pseudocode to... Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer... |
SourceID | askewsholts springer proquest nii casalini |
SourceType | Aggregation Database Publisher |
SubjectTerms | Algorithm Analysis and Problem Complexity Artificial Intelligence Computer algorithms Computer programming, programs, data Computer Science Data Structures Data structures (Computer science) Programming Techniques |
Subtitle | The Basic Toolbox |
TableOfContents | Intro -- Preface -- Contents -- 1 Appetizer: Integer Arithmetics -- 2 Introduction -- 3 Representing Sequences by Arrays and Linked Lists -- 4 Hash Tables and Associative Arrays -- 5 Sorting and Selection -- 6 Priority Queues -- 7 Sorted Sequences -- 8 Graph Representation -- 9 Graph Traversal -- 10 Shortest Paths -- 11 Minimum Spanning Trees -- 12 Generic Approaches to Optimization -- A Appendix -- References -- Index Intro -- Appetizer: Integer Arithmetics -- Addition -- Multiplication: The School Method -- Result Checking -- A Recursive Version of the School Method -- Karatsuba Multiplication -- Algorithm Engineering -- The Programs -- Proofs of Lemma 1.5 and Theorem 1.7 -- Implementation Notes -- Historical Notes and Further Findings -- Introduction -- Asymptotic Notation -- The Machine Model -- Pseudocode -- Designing Correct Algorithms and Programs -- An Example -- Binary Search -- Basic Algorithm Analysis -- Average-Case Analysis -- Randomized Algorithms -- Graphs -- P and NP -- Implementation Notes -- Historical Notes and Further Findings -- Representing Sequences by Arrays and Linked Lists -- Linked Lists -- Unbounded Arrays -- *Amortized Analysis -- Stacks and Queues -- Lists Versus Arrays -- Implementation Notes -- Historical Notes and Further Findings -- Hash Tables and Associative Arrays -- Hashing with Chaining -- Universal Hashing -- Hashing with Linear Probing -- Chaining Versus Linear Probing -- *Perfect Hashing -- Implementation Notes -- Historical Notes and Further Findings -- Sorting and Selection -- Simple Sorters -- Mergesort -- an O( nlogn) Sorting Algorithm -- A Lower Bound -- Quicksort -- Selection -- Breaking the Lower Bound -- *External Sorting -- Implementation Notes -- Historical Notes and Further Findings -- Priority Queues -- Binary Heaps -- Addressable Priority Queues -- *External Memory -- Implementation Notes -- Historical Notes and Further Findings -- Sorted Sequences -- Binary Search Trees -- (a,b)-Trees and Red--Black Trees -- More Operations -- Amortized Analysis of Update Operations -- Augmented Search Trees -- Implementation Notes -- Historical Notes and Further Findings -- Graph Representation -- Unordered Edge Sequences -- Adjacency Arrays -- Static Graphs -- Adjacency Lists -- Dynamic Graphs The Adjacency Matrix Representation -- Implicit Representations -- Implementation Notes -- Historical Notes and Further Findings -- Graph Traversal -- Breadth-First Search -- Depth-First Search -- Implementation Notes -- Historical Notes and Further Findings -- Shortest Paths -- From Basic Concepts to a Generic Algorithm -- Directed Acyclic Graphs -- Nonnegative Edge Costs (Dijkstra's Algorithm) -- *Average-Case Analysis of Dijkstra's Algorithm -- Monotone Integer Priority Queues -- Arbitrary Edge Costs (Bellman--Ford Algorithm) -- All-Pairs Shortest Paths and Node Potentials -- Shortest-Path Queries -- Implementation Notes -- Historical Notes and Further Findings -- Minimum Spanning Trees -- Cut and Cycle Properties -- The Jarník--Prim Algorithm -- Kruskal's Algorithm -- The Union--Find Data Structure -- *External Memory -- Applications -- Implementation Notes -- Historical Notes and Further Findings -- Generic Approaches to Optimization -- Linear Programming -- a Black-Box Solver -- Greedy Algorithms -- Never Look Back -- Dynamic Programming -- Building It Piece by Piece -- Systematic Search -- When in Doubt, Use Brute Force -- Local Search -- Think Globally, Act Locally -- Evolutionary Algorithms -- Implementation Notes -- Historical Notes and Further Findings -- Appendix -- Mathematical Symbols -- Mathematical Concepts -- Basic Probability Theory -- Useful Formulae -- References -- Index |
Title | Algorithms and Data Structures |
URI | http://digital.casalini.it/9783540779780 https://cir.nii.ac.jp/crid/1130282271070390528 https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=3064016 https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=6312981 http://link.springer.com/10.1007/978-3-540-77978-0 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9783540779780 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1La9wwEBbNlkJzSZ90m6aI0kOhuPgtKbckbAnp49I07E1Ispxdul1DvAkhvz6fbNnOLqGlvQivEbKYTzv6ZjQzIuR9KGKTG5MEJfgqDBSuAiFUFBSxKXUh0lRrl-D87Xt-_DM9mWbT4W7BJrtkpT-Zm3vzSv4HVbwDri5L9h-Q7QfFCzwDX7RAGO0G-e1_-tDixXkFq372u62w7MI8P7aVYC8vnB_VB2tgi5obsMtqoavrXrR2tphVbQzvl8uLPuzlR5vnsh602_kD-IY_oPMHrtmJzrnDGKhecq_W3AyUcF0x7rBF9IF7hwfc1XdnfLpFthjjI_LwYHLy9ax3a0FH5NASPoum-aZ41DuY2jl0h8u-vu_aN7fJtqp_Qb9D969qRxZUrVyOKPb-5Xy-ZgdsHF03jOD0CRm5LJGn5IFdPiM73d0Y1KvK5yQeIKIQLHUQ0QEiuk8BEG0Aoh6gF-Ts8-T06Djw91MEKoXZiP0rV0LrLLNxWDLwbqXSEvZwKXReFImxLC1Cq3QUacbLKCp0klhWRoVVPEUTJi_JaFkt7StCtQDTzgR64v-RCStSm5si1HFqm5J8Y_Lujlzk1aI5S6_lHcG6TruduCSWelvzvJYZmAqI8pjsQYLSzF0buQNrkEMQTOh8EWYxHxPayVY2o_vwYDk5PHJ2KoyDP3XJE1BHHo3Jhw4W2U6xK4yNGcpEYrKyma0MX_9lQrvk8bDA35ARMLJ7oIAr_dYvu1tFtk34 |
linkProvider | Library Specific Holdings |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Algorithms+and+data+structures+%3A+the+basic+toolbox&rft.au=Mehlhorn%2C+Kurt&rft.au=Sanders%2C+Peter&rft.date=2008-01-01&rft.pub=Springer&rft.isbn=9783540779773&rft_id=info:doi/10.1007%2F978-3-540-77978-0&rft.externalDocID=BA8632478X |
thumbnail_m | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97835407%2F9783540779780.jpg |
thumbnail_s | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fmedia.springernature.com%2Fw306%2Fspringer-static%2Fcover-hires%2Fbook%2F978-3-540-77978-0 |