Algorithms For Dummies

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"

Discover how algorithms shape and impact our digital world All data, big or small, starts with algorithms. Algorithms are mathematical equations that determine what we see--based on our likes, dislikes, queries, views, interests, relationships, and more--online. They are, in a sense, the electronic gatekeepers to our digital, as well as our physical, world. This book demystifies the subject of algorithms so you can understand how important they are business and scientific decision making. Algorithms for Dummies is a clear and concise primer for everyday people who are interested in algorithms and how they impact our digital lives. Based on the fact that we already live in a world where algorithms are behind most of the technology we use, this book offers eye-opening information on the pervasiveness and importance of this mathematical science--how it plays out in our everyday digestion of news and entertainment, as well as in its influence on our social interactions and consumerism. Readers even learn how to program an algorithm using Python! Become well-versed in the major areas comprising algorithms Examine the incredible history behind algorithms Get familiar with real-world applications of problem-solving procedures Experience hands-on development of an algorithm from start to finish with Python If you have a nagging curiosity about why an ad for that hammock you checked out on Amazon is appearing on your Facebook page, you'll find Algorithm for Dummies to be an enlightening introduction to this integral realm of math, science, and business.

Author(s): John Paul Mueller; Luca Massaron
Series: For Dummies
Edition: 1
Publisher: Wiley

Language: English
Pages: 432

Cover
Introduction
About This Book
Foolish Assumptions
Icons Used in This Book
Beyond the Book
Where to Go from Here
Part 1: Getting Started
Chapter 1: Introducing Algorithms
Describing Algorithms
Using Computers to Solve Problems
Distinguishing between Issues and Solutions
Structuring Data to Obtain a Solution
Chapter 2: Considering Algorithm Design
Starting to Solve a Problem
Dividing and Conquering
Learning that Greed Can Be Good
Computing Costs and Following Heuristics
Evaluating Algorithms
Chapter 3: Using Python to Work with Algorithms
Considering the Benefits of Python
Looking at the Python Distributions
Installing Python on Linux
Installing Python on MacOS
Installing Python on Windows
Downloading the Datasets and Example Code
Chapter 4: Introducing Python for Algorithm Programming
Working with Numbers and Logic
Creating and Using Strings
Interacting with Dates
Creating and Using Functions
Using Conditional and Loop Statements
Storing Data Using Sets, Lists, and Tuples
Defining Useful Iterators
Indexing Data Using Dictionaries
Chapter 5: Performing Essential Data Manipulations Using Python
Performing Calculations Using Vectors and Matrixes
Creating Combinations the Right Way
Getting the Desired Results Using Recursion
Performing Tasks More Quickly
Part 2: Understanding the Need to Sort and Search
Chapter 6: Structuring Data
Determining the Need for Structure
Stacking and Piling Data in Order
Working with Trees
Representing Relations in a Graph
Chapter 7: Arranging and Searching Data
Sorting Data Using Mergesort and Quicksort
Using Search Trees and the Heap
Relying on Hashing
Part 3: Exploring the World of Graphs
Chapter 8: Understanding Graph Basics
Explaining the Importance of Networks
Defining How to Draw a Graph
Measuring Graph Functionality
Putting a Graph in Numeric Format
Chapter 9: Reconnecting the Dots
Traversing a Graph Efficiently
Sorting the Graph Elements
Reducing to a Minimum Spanning Tree
Finding the Shortest Route
Chapter 10: Discovering Graph Secrets
Envisioning Social Networks as Graphs
Navigating a Graph
Chapter 11: Getting the Right Web page
Finding the World in a Search Engine
Explaining the PageRank Algorithm
Implementing PageRank
Going Beyond the PageRank Paradigm
Part 4: Struggling with Big Data
Chapter 12: Managing Big Data
Transforming Power into Data
Streaming Flows of Data
Sketching an Answer from Stream Data
Chapter 13: Parallelizing Operations
Managing Immense Amounts of Data
Working Out Algorithms for MapReduce
Chapter 14: Compressing Data
Making Data Smaller
Part 5: Challenging Difficult Problems
Chapter 15: Working with Greedy Algorithms
Deciding When It Is Better to Be Greedy
Finding Out How Greedy Can Be Useful
Chapter 16: Relying on Dynamic Programming
Explaining Dynamic Programming
Discovering the Best Dynamic Recipes
Chapter 17: Using Randomized Algorithms
Defining How Randomization Works
Putting Randomness into your Logic
Chapter 18: Performing Local Search
Understanding Local Search
Presenting local search tricks
Solving satisfiability of Boolean circuits
Chapter 19: Employing Linear Programming
Using Linear Functions as a Tool
Using Linear Programming in Practice
Chapter 20: Considering Heuristics
Differentiating Heuristics
Routing Robots Using Heuristics
Explaining Path Finding Algorithms
Part 6: The Part of Tens
Chapter 21: Ten Algorithms That Are Changing the World
Using Sort Routines
Looking for Things with Search Routines
Shaking Things Up with Random Numbers
Performing Data Compression
Keeping Data Secret
Changing the Data Domain
Analyzing Links
Spotting Data Patterns
Dealing with Automation and Automatic Responses
Creating Unique Identifiers
Chapter 22: Ten Algorithmic Problems Yet to Solve
Dealing with Text Searches
Differentiating Words
Determining Whether an Application Will End
Creating and Using One-Way Functions
Multiplying Really Large Numbers
Dividing a Resource Equally
Reducing Edit Distance Calculation Time
Solving Problems Quickly
Playing the Parity Game
Understanding Spatial Issues
About the Authors
Connect with Dummies
End User License Agreement
i
ii
v
vi
vii
viii
ix
x
xi
xii
Table of Contents
Begin Reading
1
2
3
4
5
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
357
358
359
360
361
362
363
364
365
366
367
368
369
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
389
390
391
392
393
394
395
396
397
399
400
401
402
403
404
419
420