: Dorothea Wagner, Heribert Vollmer, Christian Scheideler, Rüdiger Reischuk, Martin Dietzfelbinger, He
: Berthold Vöcking, Helmut Alt, Martin Dietzfelbinger, Rüdiger Reischuk, Christian Scheideler, Heriber
: Algorithms Unplugged
: Springer-Verlag
: 9783642153280
: 1
: CHF 95.00
:
: Naturwissenschaft
: English
: 406
: Wasserzeichen
: PC/MAC/eReader/Tablet
: PDF
Algorithms specify the way computers process information and how they execute tasks. Many recent technological innovations and achievements rely on algorithmic ideas - they facilitate new applications in science, medicine, production, logistics, traffic, communi¬cation and entertainment. Efficient algorithms not only enable your personal computer to execute the newest generation of games with features unimaginable only a few years ago, they are also key to several recent scientific breakthroughs - for example, the sequencing of the human genome would not have been possible without the invention of new algorithmic ideas that speed up computations by several orders of magnitude. The greatest improvements in the area of algorithms rely on beautiful ideas for tackling computational tasks more efficiently. The problems solved are not restricted to arithmetic tasks in a narrow sense but often relate to exciting questions of nonmathematical flavor, such as: How can I find the exit out of a maze? How can I partition a treasure map so that the treasure can only be found if all parts of the map are recombined? How should I plan my trip to minimize cost? Solving these challenging problems requires logical reasoning, geometric and combinatorial imagination, and, last but not least, creativity - the skills needed for the design and analysis of algorithms. In this book we present some of the most beautiful algorithmic ideas in 41 articles written in colloquial, nontechnical language. Most of the articles arose out of an initiative among German-language universities to communicate the fascination of algorithms and computer science to high-school students. The book can be understood without any prior knowledge of algorithms and computing, and it will be an enlightening and fun read for students and interested adults.
Preface4
Contents6
Part I Searching and Sorting10
Overview11
1 Binary Search13
Sequential Search14
Binary Search14
Recursive Implementation15
Number of Search Steps16
Guessing Games17
Further Reading19
2 Insertion Sort20
To Read on23
3 Fast Sorting Algorithms24
The Algorithms25
Detailed Explanations About These Sorting Algorithms26
Experimental Comparison of the Sorting Algorithms27
Determining the Runtimes Theoretically28
Implementation in Java30
Further Reading and Experiments32
4 Parallel Sorting - The Need for Speed33
Sorting in Hardware: Comparators and Sorting Circuits34
The Bitonic Sorting Circuit: Its Architecture35
The Bitonic Sorting Circuit: Its Correctness and Running Time37
Concluding Remarks42
Further Reading42
5 Topological Sorting - How Should I Begin to Complete My To Do List?44
Further Applications50
Additional Reading50
6 Searching Texts - But Fast! The Boyer-Moore-Horspool Algorithm51
The Naive Algorithm51
The Boyer-Moore-Horspool Algorithm55
Further Reading59
7 Depth-First Search (Ariadne59
6159
Algorithmic Idea and Implementation61
Applications64
Example: Web Search65
Example: Labyrinth Creation67
Example: Television Shows67
Example: Traffic Planning69
Breadth-First Search70
Further Reading72
Acknowledgement72
8 Pledge's Algorithm73
Further Reading78
Acknowledgement79
9 Cycles in Graphs80
Scenario 180
Scenario 281
Finding Cycles by Depth-First Search82
Strongly Connected Components85
Searching for Cycles with Breadth-First Search88
Historical Notes90
References91
Acknowledgement91
10 PageRank - What Is Really Relevant in the World-Wide Web?92
Tourist Trails93
Trails on the Web94
Solutions96
Conclusion98
Further Reading99
Part II Arithmetic and Encryption100
Overview101
11 Multiplication of Long Integers - Faster than Long Multiplication103
The Addition of Long Numbers104
Short Multiplication: A Number Times a Digit104
The Analysis of Long Multiplication105
Karatsuba's Method106
Karatsuba's Method for 4-Digit Numbers108
Karatsuba's Method for Numbers of Any Length109
Summary110
Further Reading111
Acknowledgements111
12 The Euclidean Algorithm112
The Greatest Common Divisor114
An Observation That Speeds up the Algorithm115
Analysis116
An Example117
Further Reading117
Acknowledgement118
13 The Sieve of Eratosthenes - How Fast Can We Compute a Prime Number Table?119
From the Idea to a Method120
A Simple Idea120
How Fast Is the Computation?121
How Does the Algorithm Spend Its Time?122
Do We Need Every i Value?123
Can We Get Even Faster?125
What Can We Learn from This Example?127
Further Considerations127
Further Reading129
14 One-Way Functions. Mind the Trap - Escape Only for the Initiated131
The Mirror Image of Multiplication: Factorization131
One-Way Functions133
A Practical Problem: Searching a Telephone Book135
Security and Googles138
Further Reading138
15 The One-Time Pad Algorithm - The Simplest and Most Secure Way to Keep Secrets140
Encrypting Messages141
The Algorithm143
Breaking the Code144
Further Reading145
16 Public-Key Cryptography146
Public Keys147
A Limited Algebra148
Construction of the Keys148
Encryption149
Decryption151
The Eavesdropper151
Without Limited Mathematics152
ElGamal's Method152
Modular Multiplication and Modular Exponentiation153
Description of ElGamal's Cryptosystem155
Further Methods156
Security156
Further Reading157
17 How to Share a Secret158
A Simple Method to Share a Secret159
General Secret Sharing163