Lazy Composition of Representations in Java
SC '09 Proceedings of the 8th International Conference on Software Composition
Induced matchings in subcubic planar graphs
ESA'10 Proceedings of the 18th annual European conference on Algorithms: Part II
More effective crossover operators for the all-pairs shortest path problem
PPSN'10 Proceedings of the 11th international conference on Parallel problem solving from nature: Part I
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
Graph transformation by computational category theory
Graph transformations and model-driven engineering
Applications of dimensionality reduction and exponential sums to graph automorphism
Theoretical Computer Science
Queuing system M/M/1/T with priority dropping packets mechanism based on living time
WISM'11 Proceedings of the 2011 international conference on Web information systems and mining - Volume Part I
Efficient monitoring of personalized hot news over Web 2.0 streams
Computer Science - Research and Development
Policy-based benchmarking of weak heaps and their relatives,
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
Computer Science Review
Computer Science Review
More effective crossover operators for the all-pairs shortest path problem
Theoretical Computer Science
Efficient route compression for hybrid route planning
MedAlg'12 Proceedings of the First Mediterranean conference on Design and Analysis of Algorithms
Loop invariants: Analysis, classification, and examples
ACM Computing Surveys (CSUR)
Efficient parallel and external matching
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
Shortest-path queries in static networks
ACM Computing Surveys (CSUR)
Optimizing Landmark-Based Routing and Preprocessing
Proceedings of the Sixth ACM SIGSPATIAL International Workshop on Computational Transportation Science
Hi-index | 0.00 |
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.