Sign In | Not yet a member? | Submit your article
 
Home   Technical   Study   Novel   Nonfiction   Health   Tutorial   Entertainment   Business   Magazine   Arts & Design   Audiobooks & Video Training   Cultures & Languages   Family & Home   Law & Politics   Lyrics & Music   Software Related   eBook Torrents   Uncategorized  
Letters: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Algorithms and Data Structures: The Basic Toolbox
Algorithms and Data Structures: The Basic Toolbox
Date: 06 May 2011, 00:44

Free Download Now     Free register and download UseNet downloader, then you can FREE Download from UseNet.

    Download without Limit " Algorithms and Data Structures: The Basic Toolbox " from UseNet for FREE!
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.
About the Author
Prof. Kurt Mehlhorn was appointed a Fellow of the ACM (1999) "for important contributions in complexity theory and in the design, analysis, and practice of combinatorial and geometric algorithms." A Professor of Computer Science at Saarland University since 1975, and a director of the Max-Planck-Institut fur Informatik in Saarbrucken, he has coauthored over 250 refereed papers/articles, in collaboration with 200 researchers. Other awards include the Leibniz Award of the German Research Foundation in 1986 and the Konrad Zuse Medal of the German Society for Informatics in 1995.
Prof. Peter Sanders is a Professor of Computer Science at the University of Karlsruhe. A leading researcher in the area of theoretical and experimental algorithm analysis, in particular related to efficient algorithms for parallel processing and communication in networks, his responsibilities include organizing the European Symposium on Algorithms in Karlsruhe in 2008.
The authors have considerable experience teaching on the topic of algorithms and working on related industrial projects.
Contents
1 Appetizer: Integer Arithmetics
1.1 Addition
1.2 Multiplication: The School Method
1.3 Result Checking
1.4 A Recursive Version of the School Method
1.5 Karatsuba Multiplication
1.6 Algorithm Engineering
1.7 The Programs
1.8 Proofs of Lemma 1.5 and Theorem 1.7
1.9 Implementation Notes
1.10 Historical Notes and Further Findings
2 Introduction
2.1 Asymptotic Notation
2.2 The Machine Model
2.3 Pseudocode
2.4 Designing Correct Algorithms and Programs
2.5 An Example - Binary Search
2.6 Basic AlgorithmAnalysis
2.7 Average-Case Analysis
2.8 Randomized Algorithms
2.9 Graphs
2.10 P and NP
2.11 Implementation Notes
2.12 Historical Notes and Further Findings
3 Representing Sequences by Arrays and Linked Lists
3.1 Linked Lists
3.2 Unbounded Arrays
3.3 *Amortized Analysis
3.4 Stacks and Queues
3.5 Lists Versus Arrays
3.6 Implementation Notes
3.7 Historical Notes and Further Findings
4 Hash Tables and Associative Arrays
4.1 Hashing with Chaining
4.2 Universal Hashing
4.3 Hashing with Linear Probing
4.4 Chaining Versus Linear Probing
4.5 *Perfect Hashing
4.6 Implementation Notes
4.7 Historical Notes and Further Findings
5 Sorting and Selection
5.1 Simple Sorters
5.2 Mergesort - an O(nlogn) Sorting Algorithm
5.3 A Lower Bound
5.4 Quicksort
5.5 Selection
5.6 Breaking the Lower Bound
5.7 *External Sorting
5.8 Implementation Notes
5.9 Historical Notes and Further Findings
6 Priority Queues
6.1 Binary Heaps
6.2 Addressable Priority Queues
6.3 *ExternalMemory
6.4 Implementation Notes
6.5 Historical Notes and Further Findings
7 Sorted Sequences
7.1 Binary Search Trees
7.2 (a,b)-Trees and Red-Black Trees
7.3 More Operations
7.4 Amortized Analysis of Update Operations
7.5 Augmented Search Trees
7.6 Implementation Notes
7.7 Historical Notes and Further Findings
8 Graph Representation
8.1 Unordered Edge Sequences
8.2 Adjacency Arrays - Static Graphs
8.3 Adjacency Lists - Dynamic Graphs
8.4 The Adjacency Matrix Representation
8.5 Implicit Representations
8.6 Implementation Notes
8.7 Historical Notes and Further Findings
9 Graph Traversal
9.1 Breadth-First Search
9.2 Depth-First Search
9.3 Implementation Notes
9.4 Historical Notes and Further Findings
10 Shortest Paths
10.1 From Basic Concepts to a Generic Algorithm
10.2 Directed Acyclic Graphs
10.3 Nonnegative Edge Costs (Dijkstra's Algorithm)
10.4 *Average-Case Analysis of Dijkstra's Algorithm
10.5 Monotone Integer Priority Queues
10.6 Arbitrary Edge Costs (Bellman-Ford Algorithm)
10.7 All-Pairs Shortest Paths and Node Potentials
10.8 Shortest-Path Queries
10.9 Implementation Notes
10.10 Historical Notes and Further Findings
11 Minimum Spanning Trees
11.1 Cut and Cycle Properties
11.2 The Jarn?k-Prim Algorithm
11.3 Kruskal's Algorithm
11.4 The Union-Find Data Structure
11.5 *ExternalMemory
11.6 Applications
11.7 Implementation Notes
11.8 Historical Notes and Further Findings
12 Generic Approaches to Optimization
12.1 Linear Programming - a Black-Box Solver
12.2 Greedy Algorithms - Never Look Back
12.3 Dynamic Programming - Building It Piece by Piece
12.4 Systematic Search - When in Doubt, Use Brute Force
12.5 Local Search - Think Globally, Act Locally
12.6 Evolutionary Algorithms
12.7 Implementation Notes
12.8 Historical Notes and Further Findings
A Appendix
A.1 Mathematical Symbols
A.2 Mathematical Concepts
A.3 Basic Probability Theory
A.4 Useful Formulae
References
Index
PassWord: www.freebookspot.com

DISCLAIMER:

This site does not store Algorithms and Data Structures: The Basic Toolbox on its server. We only index and link to Algorithms and Data Structures: The Basic Toolbox provided by other sites. Please contact the content providers to delete Algorithms and Data Structures: The Basic Toolbox if any and email us, we'll remove relevant links or contents immediately.



Comments

Comments (0) All

Verify: Verify

    Sign In   Not yet a member?