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:
Bibliographic Details
Main Authors Mehlhorn, Kurt, Sanders, Peter
Format eBook Book
LanguageEnglish
Published Berlin, Heidelberg Springer Nature 2008
Springer
Springer Berlin / Heidelberg
Springer Berlin Heidelberg
Edition1
Subjects
Online AccessGet full text
ISBN9783540779780
3540779787
9783540779773
3540779779
DOI10.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