# Learning Data Structures and Algorithms

### Implementation and Analysis for Increased Software Performance

**Publisher:** Infinite Skills

**Release Date:** February 2015

**Duration:** 7 hours 32 minutes

#### Watch on Safari with a 10-day trial

Start your free trial nowWhere's the cart? All videos are now exclusively on Safari. Questions? See our FAQ or contact customer service:

1-800-889-8969 / 707-827-7019

support@oreilly.com

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

### Chapter: Chapter 1 - Introduction

#### Introduction And Course Overview

04m 0s

#### About The Author

01m 16s

#### How To Access Your Working Files

01m 15s

### Chapter: Chapter 2 - Complexity Theory

#### Complexity Theory

03m 56s

#### Big O Notation

07m 2s

#### Typical Runtime Functions

04m 37s

#### Comparing Runtime Functions

05m 27s

#### P And NP

04m 4s

### Chapter: Chapter 3 - Numerical Algorithms

#### Random Numbers

02m 19s

#### Linear Congruential Generators

05m 4s

#### Randomizing Arrays - Part 1

03m 47s

#### Randomizing Arrays - Part 2

04m 31s

#### GCD

04m 9s

#### LCM

03m 28s

#### Prime Factorization - Part 1

04m 59s

#### Prime Factorization - Part 2

02m 43s

#### Finding Primes

03m 24s

#### Testing Primality

03m 45s

#### Numerical Integration

05m 11s

### Chapter: Chapter 4 - Linked Lists

#### Singly Linked Lists - Part 1

06m 48s

#### Singly Linked Lists - Part 2

02m 22s

#### Sorted Linked Lists

03m 22s

#### Sorting With Linked Lists

04m 7s

#### Doubly Linked Lists

03m 51s

### Chapter: Chapter 5 - Arrays

#### One-Dimensional Arrays

05m 10s

#### Triangular Arrays - Part 1

04m 13s

#### Triangular Arrays - Part 2

03m 17s

#### Sparse Arrays - Part 1

05m 27s

#### Sparse Arrays - Part 2

03m 19s

### Chapter: Chapter 6 - Stacks And Queues

#### Stacks

02m 32s

#### Stack Algorithms

03m 26s

#### Double Stacks

02m 8s

#### Queues

05m 49s

### Chapter: Chapter 7 - Sorting

#### Sorting Algorithms

03m 3s

#### Insertionsort

06m 27s

#### Selectionsort

04m 46s

#### Quicksort - Part 1

05m 40s

#### Quicksort - Part 2

07m 55s

#### Heapsort - Part 1

06m 17s

#### Heapsort - Part 2

05m 21s

#### Heapsort - Part 3

05m 39s

#### Mergesort - Part 1

03m 55s

#### Mergesort - Part 2

03m 41s

#### Bubblesort - Part 1

04m 51s

#### Bubblesort - Part 2

04m 18s

#### Countingsort - Part 1

04m 45s

#### Countingsort - Part 2

03m 35s

#### Sorting Summary

02m 51s

### Chapter: Chapter 8 - Searching

#### Linear Search

02m 11s

#### Binary Search

05m 15s

#### Interpolation Search

05m 27s

### Chapter: Chapter 9 - Hash Tables

#### Hash Tables

04m 32s

#### Chaining

05m 23s

#### Open Addressing - Basics

07m 25s

#### Open Addressing - Linear Probing

04m 48s

#### Open Addressing - Quadratic Probing

04m 22s

#### Open Addressing - Double Hashing

05m 55s

### Chapter: Chapter 10 - Recursion

#### Recursion Basics

05m 37s

#### Fibonacci Numbers

06m 8s

#### Tower Of Hanoi

06m 8s

#### Koch Curves

04m 32s

#### Hilbert Curves

04m 32s

#### Gaskets

04m 52s

#### Removing Tail Recursion

03m 58s

#### Removing Recursion With Stacks

03m 56s

#### Fixing Fibonacci

07m 25s

#### Selections

04m 15s

#### Permutations

04m 12s

### Chapter: Chapter 11 - Backtracking Algorithms

#### Backtracking

06m 3s

#### The Eight Queens Problem - Part 1

06m 0s

#### The Eight Queens Problem - Part 2

04m 3s

#### The Eight Queens Problem - Part 3

03m 48s

#### The Knights Tour

04m 20s

### Chapter: Chapter 12 - Trees

#### Tree Terms

05m 6s

#### Binary Tree Properties

06m 25s

#### Traversals - Preorder

03m 54s

#### Traversals - Postorder

02m 57s

#### Traversals - Inorder

02m 47s

#### Traversals - Breadth-First

02m 57s

#### Building Sorted Trees

03m 56s

#### Editing Sorted Trees

04m 36s

### Chapter: Chapter 13 - Balanced Trees

#### Why Do You Need Balanced Trees?

04m 4s

#### B-Trees - B-Tree Basics

07m 18s

#### B-Trees - Adding Items

05m 16s

#### B-Trees - Removing Items

04m 16s

### Chapter: Chapter 14 - Decision Trees

#### Definition

05m 36s

#### Exhaustive Search

06m 27s

#### Branch And Bound

08m 26s

#### Heuristics

07m 38s

### Chapter: Chapter 15 - Network Algorithms

#### Network Terminology

03m 31s

#### Network Classes

04m 52s

#### Depth-First Traversal

05m 21s

#### Breadth-First Traversal

02m 43s

#### Spanning Trees - Part 1

04m 12s

#### Spanning Trees - Part 2

03m 58s

#### Shortest Paths - Part 1

07m 27s

#### Shortest Paths - Part 2

08m 41s

### Chapter: Chapter 16 - Wrap-Up

#### Wrap-Up

01m 17s