(ESS-ALGO.AE1) / ISBN : 978-1-64459-270-0
This course includes
Lessons
TestPrep
Lab
AI Tutor (Add-on)
15 Review
Get A Free Trial

Get the support you need. Enroll in our Instructor-Led Course.

Lessons

21+ Lessons | 168+ Quizzes | 434+ Flashcards | 436+ Glossary of terms

TestPrep

60+ Pre Assessment Questions | 57+ Post Assessment Questions |

1

Introduction

  • Why You Should Study Algorithms
  • Algorithm Selection
  • Who This Course Is For
  • Getting the Most Out of This Course
  • How This Course Is Structured
  • What You Need to Use This Course
  • Conventions
2

Algorithm Basics

  • Approach
  • Algorithms and Data Structures
  • Pseudocode
  • Algorithm Features
  • Practical Considerations
  • Summary
  • Exercises
3

Numerical Algorithms

  • Randomizing Data
  • Finding Greatest Common Divisors
  • Performing Exponentiation
  • Working with Prime Numbers
  • Performing Numerical Integration
  • Finding Zeros
  • Gaussian Elimination
  • Least Squares Fits
  • Summary
  • Exercises
4

Linked Lists

  • Basic Concepts
  • Singly Linked Lists
  • Doubly Linked Lists
  • Sorted Linked Lists
  • Self-Organizing Linked Lists
  • Linked-List Algorithms
  • Multithreaded Linked Lists
  • Linked Lists with Loops
  • Summary
  • Exercises
5

Arrays

  • Basic Concepts
  • One-Dimensional Arrays
  • Nonzero Lower Bounds
  • Triangular Arrays
  • Sparse Arrays
  • Matrices
  • Summary
  • Exercises
6

Stacks and Queues

  • Stacks
  • Queues
  • Binomial Heaps
  • Summary
  • Exercises
7

Sorting

  • O(N2) Algorithms
  • O(N log N) Algorithms
  • Sub O(N log N) Algorithms
  • Summary
  • Exercises
8

Searching

  • Linear Search
  • Binary Search
  • Interpolation Search
  • Majority Voting
  • Summary
  • Exercises
9

Hash Tables

  • Hash Table Fundamentals
  • Chaining
  • Open Addressing
  • Summary
  • Exercises
10

Recursion

  • Basic Algorithms
  • Factorial
  • Fibonacci Numbers
  • Rod-Cutting
  • Tower of Hanoi
  • Graphical Algorithms
  • Koch Curves
  • Hilbert Curve
  • Sierpiński Curve
  • Gaskets
  • The Skyline Problem
  • Backtracking Algorithms
  • Eight Queens Problem
  • Knight's Tour
  • Selections and Permutations
  • Selections with Loops
  • Selections with Duplicates
  • Selections Without Duplicates
  • Permutations with Duplicates
  • Permutations Without Duplicates
  • Round-Robin Scheduling
  • Recursion Removal
  • Tail Recursion Removal
  • Dynamic Programming
  • Bottom-Up Programming
  • General Recursion Removal
  • Summary
  • Exercises
11

Trees

  • Tree Terminology
  • Binary Tree Properties
  • Tree Representations
  • Tree Traversal
  • Sorted Trees
  • Lowest Common Ancestors
  • Threaded Trees
  • Specialized Tree Algorithms
  • Interval Trees
  • Summary
  • Exercises
12

Balanced Trees

  • AVL Trees
  • 2-3 Trees
  • B-Trees
  • Balanced Tree Variations
  • Summary
  • Exercises
13

Decision Trees

  • Searching Game Trees
  • Searching General Decision Trees
  • Swarm Intelligence
  • Summary
  • Exercises
14

Basic Network Algorithms

  • Network Terminology
  • Network Representations
  • Traversals
  • Strongly Connected Components
  • Finding Paths
  • Transitivity
  • Shortest Path Modifications
  • Summary
  • Exercises
15

More Network Algorithms

  • Topological Sorting
  • Cycle Detection
  • Map Coloring
  • Maximal Flow
  • Network Cloning
  • Cliques
  • Community Detection
  • Eulerian Paths and Cycles
  • Summary
  • Exercises
16

String Algorithms

  • Matching Parentheses
  • Pattern Matching
  • String Searching
  • Calculating Edit Distance
  • Phonetic Algorithms
  • Summary
  • Exercises
17

Cryptography

  • Terminology
  • Transposition Ciphers
  • Substitution Ciphers
  • Block Ciphers
  • Public-Key Encryption and RSA
  • Other Uses for Cryptography
  • Summary
  • Exercises
18

Complexity Theory

  • Notation
  • Complexity Classes
  • Reductions
  • 3SAT
  • Bipartite Matching
  • NP-Hardness
  • Detection, Reporting, and Optimization Problems
  • Detection ≤p Reporting
  • Reporting ≤p Optimization
  • Reporting ≤p Detection
  • Optimization ≤p Reporting
  • Approximate Optimization
  • NP-Complete Problems
  • Summary
  • Exercises
19

Distributed Algorithms

  • Types of Parallelism
  • Distributed Algorithms
  • Summary
  • Exercises
20

Interview Puzzles

  • Asking Interview Puzzle Questions
  • Answering Interview Puzzle Questions
  • Summary
  • Exercises

Appendix A: Summary of Algorithmic Concepts

  • Lesson 1: Algorithm Basics
  • Lesson 2: Numeric Algorithms
  • Lesson 3: Linked Lists
  • Lesson 4: Arrays
  • Lesson 5: Stacks and Queues
  • Lesson 6: Sorting
  • Lesson 7: Searching
  • Lesson 8: Hash Tables
  • Lesson 9: Recursion
  • Lesson 10: Trees
  • Lesson 11: Balanced Trees
  • Lesson 12: Decision Trees
  • Lesson 13: Basic Network Algorithms
  • Lesson 14: More Network Algorithms
  • Lesson 15: String Algorithms
  • Lesson 16: Cryptography
  • Lesson 17: Complexity Theory
  • Lesson 18: Distributed Algorithms
  • Lesson 19: Interview Puzzles

Algorithm Basics

  • Discussing about Algorithms, Numerical Algorithms, and Arrays
  • Learning Common Run Time Functions
  • Understating about Big O Notation

Numerical Algorithms

  • Creating Pseudorandom Numbers
  • Making Random Walks
  • Calculating Greatest Common Divisors
  • Testing of Primality
  • Performing Numerical Integration
  • Using Back Substitution

Linked Lists

  • Finding Cells

Arrays

  • Discussing about Arrays, Stacks and Queues, and Sorting
  • Finding Median
  • Finding Average
  • Learning about Array Types
  • Adding Matrices

Stacks and Queues

  • Reversing An Array
  • Understanding Stacks
  • Understanding Queues
  • Merging Trees
  • Understanding Binomial Trees

Sorting

  • Understanding the Heap Sort Algorithm
  • Understanding Sorting Algorithm
  • Summarizing the Algorithms

Searching

  • Understanding the Linear Search Algorithm
  • Understanding Binary Search
  • Understanding Interpolation Search
  • Discussing about Searching, Hash Tables, and Recursion

Hash Tables

  • Understanding Open Addressing

Recursion

  • Understanding the Factorial
  • Learning about the Koch Curves
  • Understanding Eight Queens Problem

Trees

  • Understanding about Balanced and Decision Trees
  • Understanding Tree Terminology
  • Calculating Number of Nodes
  • Learning About Tree Traversal

Balanced Trees

  • Deleting Values

Decision Trees

  • Understanding Random Search

Basic Network Algorithms

  • Understanding Network Terminology

More Network Algorithms

  • Using the Brute Force Approach

String Algorithms

  • Understanding Pattern Matching
  • Discussing about Network and String Algorithms

Cryptography

  • Calculating the Euler's Totient Function

Distributed Algorithms

  • Discussing about Cryptography, Complexity Theory, and Distributed Algorithms

Related Courses

All Course
scroll to top