Enroll yourself in the Essential Algorithms: A Practical Approach to Computer Algorithms Using Python and C# course and lab to learn algorithms techniques. The course and lab provide expertise over the concepts such as algorithms, linked lists, arrays, stacks and queues, sorting, searching, hash tables, recursion, trees, cryptography, complexity theory, interview puzzles, and more.

starstarstarstarstar

* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

The course and lab provide expertise over the concepts such as algorithms, linked lists, arrays, stacks and queues, sorting, searching, hash tables, recursion, trees, cryptography, complexity theory, interview puzzles, and more.

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

Audience

Those with programming experience will benefit from this course.

Language

English

Prerequisites

While there are no prerequisites for this course, please ensure you have the right level of experience to be successful in this training.

Length: 365.0 days ( hours)

Level:

Not Your Location? Change

Course Schedule:

To request a custom delivery, please chat with an expert.

Loading...