Skip to content
Home
Programs
Close Programs
Open Programs
Cybersecurity
Courses
Community
News
Knowledgebase
GIS
Courses
Community
News
Knowledgebase
Agile Methodologies
Courses
Community
News
Knowledgebase
Catalog
About
Contact Us
Login
Sign Up
$
0.00
0
Cart
Login
Sign Up
$
0.00
0
Cart
Login
Sign Up
$
0.00
0
Cart
Home
All Programs
Computers
Programming
Algorithms
Intro to Algorithms
Intro to Algorithms
Curriculum
29 Sections
90 Lessons
10 Weeks
Expand all sections
Collapse all sections
Introduction
5
1.1
About This Book
1.2
Foolish Assumptions
1.3
Icons Used in This Book
1.4
Beyond the Book
1.5
Where to Go from Here
Part 1: Getting Started with Algorithms
0
Chapter 1: Introducing Algorithms
4
3.1
Describing Algorithms
3.2
Using Computers to Solve Problems
3.3
Distinguishing between Issues and Solutions
3.4
Structuring Data to Obtain a Solution
Chapter 2: Considering Algorithm Design
5
4.1
Starting to Solve a Problem
4.2
Dividing and Conquering
4.3
Learning that Greed Can Be Good
4.4
Computing Costs and Following Heuristics
4.5
Evaluating Algorithms
Chapter 3: Working with Google Colab
6
5.1
Defining Google Colab
5.2
Working with Notebooks
5.3
Performing Common Tasks
5.4
Using Hardware Acceleration
5.5
Executing the Code
5.6
Getting Help
Chapter 4: Performing Essential Data Manipulations Using Python
4
6.1
Performing Calculations Using Vectors and Matrixes
6.2
Creating Combinations the Right Way
6.3
Getting the Desired Results Using Recursion
6.4
Performing Tasks More Quickly
Chapter 5: Developing a Matrix Computation Class
4
7.1
Avoiding the Use of NumPy
7.2
Understanding Why Using a Class is Important
7.3
Building the Basic Class
7.4
Manipulating the Matrix
Part 2: Understanding the Need to Sort and Search
0
Chapter 6: Structuring Data
4
9.1
Determining the Need for Structure
9.2
Stacking and Piling Data in Order
9.3
Working with Trees
9.4
Representing Relations in a Graph
Chapter 7: Arranging and Searching Data
3
10.1
Sorting Data Using Merge Sort and Quick Sort
10.2
Using Search Trees and the Heap
10.3
Relying on Hashing
Part 3: Exploring the World of Graphs
0
Chapter 8: Understanding Graph Basics
4
12.1
Explaining the Importance of Networks
12.2
Defining How to Draw a Graph
12.3
Measuring Graph Functionality
12.4
Putting a Graph in Numeric Format
Chapter 9: Reconnecting the Dots
4
13.1
Traversing a Graph Efficiently
13.2
Sorting the Graph Elements
13.3
Reducing to a Minimum Spanning Tree
13.4
Finding the Shortest Route
Chapter 10: Discovering Graph Secrets
2
14.1
Envisioning Social Networks as Graphs
14.2
Navigating a Graph
Chapter 11: Getting the Right Web page
4
15.1
Finding the World in a Search Engine
15.2
Explaining the PageRank Algorithm
15.3
Implementing PageRank
15.4
Going Beyond the PageRank Paradigm
Part 4: Wrangling Big Data
0
Chapter 12: Managing Big Data
3
17.1
Transforming Power into Data
17.2
Streaming Flows of Data
17.3
Sketching an Answer from Stream Data
Chapter 13: Parallelizing Operations
2
18.1
Managing Immense Amounts of Data
18.2
Working Out Algorithms for MapReduce
Chapter 14: Compressing and Concealing Data
2
19.1
Making Data Smaller
19.2
Hiding Your Secrets with Cryptography
Part 5: Challenging Difficult Problems
0
Chapter 15: Working with Greedy Algorithms
2
21.1
Deciding When It Is Better to Be Greedy
21.2
Finding Out How Greedy Can Be Useful
Chapter 16: Relying on Dynamic Programming
2
22.1
Explaining Dynamic Programming
22.2
Discovering the Best Dynamic Recipes
Chapter 17: Using Randomized Algorithms
2
23.1
Defining How Randomization Works
23.2
Putting Randomness into your Logic
Chapter 18: Performing Local Search
3
24.1
Understanding Local Search
24.2
Presenting local search tricks
24.3
Solving Satisfiability of Boolean Circuits
Chapter 19: Employing Linear Programming
2
25.1
Using Linear Functions as a Tool
25.2
Using Linear Programming in Practice
Chapter 20: Considering Heuristics
3
26.1
Differentiating Heuristics
26.2
Routing Robots Using Heuristics
26.3
Explaining Path Finding Algorithms
Part 6: The Part of Tens
0
Chapter 21: Ten Algorithms That Are Changing the World
10
28.1
Using Sort Routines
28.2
Looking for Things with Search Routines
28.3
Shaking Things Up with Random Numbers
28.4
Performing Data Compression
28.5
Keeping Data Secret
28.6
Changing the Data Domain
28.7
Analyzing Links
28.8
Spotting Data Patterns
28.9
Dealing with Automation and Automatic Responses
28.10
Creating Unique Identifiers
Chapter 22: Ten Algorithmic Problems Yet to Solve
10
29.1
Solving Problems Quickly
29.2
Solving 3SUM Problems More Efficiently
29.3
Making Matrix Multiplication Faster
29.4
Determining Whether an Application Will End
29.5
Creating and Using One-Way Functions
29.6
Multiplying Really Large Numbers
29.7
Dividing a Resource Equally
29.8
Reducing Edit Distance Calculation Time
29.9
Playing the Parity Game
29.10
Understanding Spatial Issues
This content is protected, please
login
and
enroll
in the course to view this content!
Login
or
Sign Up
Home
Programs
Close Programs
Open Programs
Cybersecurity
Courses
Community
News
Knowledgebase
GIS
Courses
Community
News
Knowledgebase
Agile Methodologies
Courses
Community
News
Knowledgebase
Cybersecurity
Courses
Community
News
Knowledgebase
Catalog
About
Contact Us
Linkedin
Instagram
Modal title
Main Content