Cover image for Working with Algorithms in Python

Book description

Learn how to make your Python code more efficient by using algorithms to solve a variety of tasks or computational problems. In this video course, you’ll learn algorithm basics and then tackle a series of problems using existing algorithms. The examples you’ll learn in this course are among the most common algorithms in computer science, but they illustrate many of the concerns you’ll face as you work to create algorithms on your own.

Table of Contents

  1. Efficient Searching using BinaryArraySearch and Binary Search Trees Part 1
    00:26:18
  2. Efficient Searching using BinaryArraySearch and Binary Search Trees Part 2
    00:30:09
  3. Creating a Balanced Binary Search Tree from a Sorted List
    00:06:22
  4. An Informal Introduction to the Analysis of Algorithms
    00:38:54
  5. MergeSort: A Divide and Conquer Algorithm
    00:45:32
  6. Using MergeSort to Sort External Data
    00:11:05
  7. Mathematical Algorithms: Exponentiation By Squaring
    00:37:13
  8. Using Exponentiation by Squaring to Determine Whether an Integer Is Prime
    00:10:24
  9. Brute Force: An Algorithm for Solving Combinatoric Problems
    00:45:44
  10. Using Brute Force to Generate Magic Squares
    00:16:46
  11. KD Trees: Efficient Processing of Two-Dimensional Datasets Part 1
    00:38:09
  12. KD Trees: Efficient Processing of Two-Dimensional Datasets Part 2
    00:13:45
  13. Using KD Trees to Compute Nearest Neighbor Queries
    00:13:56
  14. Graph Algorithms: Depth First Search Part 1
    00:26:56
  15. Graph Algorithms: Depth First Search Part 2
    00:18:43
  16. Using Depth First Search to Construct a Rectangular Maze
    00:11:55
  17. Graph Algorithms: All Pairs Shortest Path
    00:40:48
  18. Using Dynamic Programming to Compute Minimum Edit Distance
    00:08:04
  19. The Heap Data Structure and Its Use in HeapSort
    00:26:52
  20. Using HeapSort to Sort a Collection
    00:07:38
  21. Single-Source Shortest Path: Using Priority Queues
    00:35:23
  22. Using Priority Queues to Compute the Minimum Spanning Tree
    00:07:10
  23. Course Summary
    00:01:56