Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title Page
Table of Contents
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
← Prev
Back
Next →
← Prev
Back
Next →