Algorithms and Data Structures: The Basic Toolbox

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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(s): Kurt Mehlhorn, Peter Sanders
Publisher: Springer
Year: 2008

Language: English
Pages: 305
Tags: Algorithm Analysis and Problem Complexity; Data Structures; Computing Methodologies

Front Matter....Pages I-XII
Appetizer: Integer Arithmetics....Pages 1-18
Introduction....Pages 19-58
Representing Sequences by Arrays and Linked Lists....Pages 59-79
Hash Tables and Associative Arrays....Pages 81-98
Sorting and Selection....Pages 99-125
Priority Queues....Pages 127-143
Sorted Sequences....Pages 145-166
Graph Representation....Pages 167-174
Graph Traversal....Pages 175-189
Shortest Paths....Pages 191-215
Minimum Spanning Trees....Pages 217-232
Generic Approaches to Optimization....Pages 233-262
Back Matter....Pages 263-300