O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Data Structures and Algorithms

Video Description

In this Learning Data Structures and Algorithms video training course, Rod Stephens will teach you how to analyze and implement common algorithms used in data processing. This course is designed for the absolute beginner, meaning no previous programming experience is required.

You will start by learning about the complexity theory, then jump into learning about numerical algorithms, including randomizing arrays, prime factorization, and numerical integration. From there, Rod will teach you about linked lists, such as singly linked lists, sorted, and doubly linked lists. This video tutorial also covers arrays, stacks and queues, and sorting. You will also learn about searching, hash tables, recursion, and backtracking algorithms. Finally, you will cover trees, balanced trees, decision trees, and network algorithms.

Once you have completed this video training course, you will be fully capable of analyzing and implementing algorithms, as well as be able to select the best algorithm for various situations. Working files are included, allowing you to follow along with the author throughout the lessons.

Table of Contents

  1. Chapter 1 - Introduction
    1. Introduction And Course Overview 00:04:01
    2. About The Author 00:01:16
    3. How To Access Your Working Files 00:01:15
  2. Chapter 2 - Complexity Theory
    1. Complexity Theory 00:03:56
    2. Big O Notation 00:07:03
    3. Typical Runtime Functions 00:04:37
    4. Comparing Runtime Functions 00:05:27
    5. P And NP 00:04:04
  3. Chapter 3 - Numerical Algorithms
    1. Random Numbers 00:02:19
    2. Linear Congruential Generators 00:05:04
    3. Randomizing Arrays - Part 1 00:03:47
    4. Randomizing Arrays - Part 2 00:04:31
    5. GCD 00:04:09
    6. LCM 00:03:29
    7. Prime Factorization - Part 1 00:04:59
    8. Prime Factorization - Part 2 00:02:43
    9. Finding Primes 00:03:24
    10. Testing Primality 00:03:46
    11. Numerical Integration 00:05:11
  4. Chapter 4 - Linked Lists
    1. Singly Linked Lists - Part 1 00:06:48
    2. Singly Linked Lists - Part 2 00:02:23
    3. Sorted Linked Lists 00:03:23
    4. Sorting With Linked Lists 00:04:08
    5. Doubly Linked Lists 00:03:52
  5. Chapter 5 - Arrays
    1. One-Dimensional Arrays 00:05:10
    2. Triangular Arrays - Part 1 00:04:13
    3. Triangular Arrays - Part 2 00:03:18
    4. Sparse Arrays - Part 1 00:05:28
    5. Sparse Arrays - Part 2 00:03:20
  6. Chapter 6 - Stacks And Queues
    1. Stacks 00:02:33
    2. Stack Algorithms 00:03:27
    3. Double Stacks 00:02:09
    4. Queues 00:05:49
  7. Chapter 7 - Sorting
    1. Sorting Algorithms 00:03:04
    2. Insertionsort 00:06:28
    3. Selectionsort 00:04:47
    4. Quicksort - Part 1 00:05:40
    5. Quicksort - Part 2 00:07:55
    6. Heapsort - Part 1 00:06:17
    7. Heapsort - Part 2 00:05:21
    8. Heapsort - Part 3 00:05:40
    9. Mergesort - Part 1 00:03:56
    10. Mergesort - Part 2 00:03:41
    11. Bubblesort - Part 1 00:04:51
    12. Bubblesort - Part 2 00:04:18
    13. Countingsort - Part 1 00:04:46
    14. Countingsort - Part 2 00:03:35
    15. Sorting Summary 00:02:51
  8. Chapter 8 - Searching
    1. Linear Search 00:02:12
    2. Binary Search 00:05:15
    3. Interpolation Search 00:05:27
  9. Chapter 9 - Hash Tables
    1. Hash Tables 00:04:33
    2. Chaining 00:05:24
    3. Open Addressing - Basics 00:07:26
    4. Open Addressing - Linear Probing 00:04:48
    5. Open Addressing - Quadratic Probing 00:04:23
    6. Open Addressing - Double Hashing 00:05:56
  10. Chapter 10 - Recursion
    1. Recursion Basics 00:05:37
    2. Fibonacci Numbers 00:06:08
    3. Tower Of Hanoi 00:06:08
    4. Koch Curves 00:04:32
    5. Hilbert Curves 00:04:32
    6. Gaskets 00:04:52
    7. Removing Tail Recursion 00:03:59
    8. Removing Recursion With Stacks 00:03:56
    9. Fixing Fibonacci 00:07:25
    10. Selections 00:04:16
    11. Permutations 00:04:12
  11. Chapter 11 - Backtracking Algorithms
    1. Backtracking 00:06:04
    2. The Eight Queens Problem - Part 1 00:06:01
    3. The Eight Queens Problem - Part 2 00:04:04
    4. The Eight Queens Problem - Part 3 00:03:49
    5. The Knights Tour 00:04:21
  12. Chapter 12 - Trees
    1. Tree Terms 00:05:06
    2. Binary Tree Properties 00:06:25
    3. Traversals - Preorder 00:03:55
    4. Traversals - Postorder 00:02:57
    5. Traversals - Inorder 00:02:48
    6. Traversals - Breadth-First 00:02:58
    7. Building Sorted Trees 00:03:56
    8. Editing Sorted Trees 00:04:36
  13. Chapter 13 - Balanced Trees
    1. Why Do You Need Balanced Trees? 00:04:04
    2. B-Trees - B-Tree Basics 00:07:19
    3. B-Trees - Adding Items 00:05:16
    4. B-Trees - Removing Items 00:04:16
  14. Chapter 14 - Decision Trees
    1. Definition 00:05:37
    2. Exhaustive Search 00:06:27
    3. Branch And Bound 00:08:26
    4. Heuristics 00:07:38
  15. Chapter 15 - Network Algorithms
    1. Network Terminology 00:03:32
    2. Network Classes 00:04:53
    3. Depth-First Traversal 00:05:21
    4. Breadth-First Traversal 00:02:44
    5. Spanning Trees - Part 1 00:04:13
    6. Spanning Trees - Part 2 00:03:58
    7. Shortest Paths - Part 1 00:07:27
    8. Shortest Paths - Part 2 00:08:42
  16. Chapter 16 - Wrap-Up
    1. Wrap-Up 00:01:17