# Algorithms and Data Structures - Part 1

A look at the core data structures and algorithms used in day-to-day applications.

A look at the core data structures and algorithms used in day-to-day applications.

Introduction
1m 4s
Node Chains
2m 23s
Code: Node Chains
5m 6s
Linked List
0m 41s
Add Items
4m 5s
Remove Items
1m 54s
Enumerate
1m 32s
Code: Singly Linked List
11m 16s
Doubly Linked List
1m 54s
Code: Doubly Linked List
8m 30s
Modern Implementations
2m 57s
Summary and References
1m 11s

Introduction
1m 6s
Push & Pop
2m 46s
Stack (Linked List)
2m 45s
Code: Stack (Linked List)
1m 34s
Stack (Array)
1m 39s
Code: Stack (Array)
4m 32s
Postfix Calculator
3m 35s
Demo: Postfix Calculator
3m 29s
Demo: Undo
6m 29s
Other Implementations
1m 48s
Summary and Reference
0m 43s

Introduction
1m 0s
Enqueue and Dequeue
3m 1s
Linked List Implementation
2m 14s
Code: Linked List Implementation
2m 5s
Demo: Queue
3m 25s
Array Implementation
3m 47s
Code: Array Implementation
8m 12s
Priority Queue
1m 51s
Code: Priority Queue
2m 38s
Demo: Priority Queue
2m 7s
.NET and C++
1m 3s
Summary and Reference
0m 45s

Introduction
0m 44s
What is a Tree?
3m 1s
Binary Trees
2m 34s
Adding Data
2m 34s
Finding Data
3m 50s
Removing Data
7m 26s
Traversals
6m 26s
Code: Binary Tree
14m 42s
Demo: Sorting Words
2m 3s
Summary
0m 54s

Introduction
0m 48s
Hash Tables
2m 36s
Hashing Overview
4m 21s
String Hashing
6m 45s
Demo: String Hashing
4m 4s
Adding Data
1m 15s
Handling Collisions
2m 54s
Growing the Table
2m 41s
Removing Data
2m 44s
Finding Data
1m 19s
Enumerating
1m 16s
Code: Hash Table
8m 14s
Demo: Counting Words
4m 19s
Summary
1m 11s

In this course we will look at the core data structures and algorithms used in everyday applications. We will discuss the trade-offs involved with choosing each data structure, along with traversal, retrieval, and update algorithms. This is part 1 of a two-part series of courses covering algorithms and data structures. In this part we cover linked lists, stacks, queues, binary trees, and hash tables.

Table of Contents

Introduction
1m 4s
Node Chains
2m 23s
Code: Node Chains
5m 6s
Linked List
0m 41s
Add Items
4m 5s
Remove Items
1m 54s
Enumerate
1m 32s
Code: Singly Linked List
11m 16s
Doubly Linked List
1m 54s
Code: Doubly Linked List
8m 30s
Modern Implementations
2m 57s
Summary and References
1m 11s

Introduction
1m 6s
Push & Pop
2m 46s
Stack (Linked List)
2m 45s
Code: Stack (Linked List)
1m 34s
Stack (Array)
1m 39s
Code: Stack (Array)
4m 32s
Postfix Calculator
3m 35s
Demo: Postfix Calculator
3m 29s
Demo: Undo
6m 29s
Other Implementations
1m 48s
Summary and Reference
0m 43s

Introduction
1m 0s
Enqueue and Dequeue
3m 1s
Linked List Implementation
2m 14s
Code: Linked List Implementation
2m 5s
Demo: Queue
3m 25s
Array Implementation
3m 47s
Code: Array Implementation
8m 12s
Priority Queue
1m 51s
Code: Priority Queue
2m 38s
Demo: Priority Queue
2m 7s
.NET and C++
1m 3s
Summary and Reference
0m 45s

Introduction
0m 44s
What is a Tree?
3m 1s
Binary Trees
2m 34s
Adding Data
2m 34s
Finding Data
3m 50s
Removing Data
7m 26s
Traversals
6m 26s
Code: Binary Tree
14m 42s
Demo: Sorting Words
2m 3s
Summary
0m 54s

Introduction
0m 48s
Hash Tables
2m 36s
Hashing Overview
4m 21s
String Hashing
6m 45s
Demo: String Hashing
4m 4s
Adding Data
1m 15s
Handling Collisions
2m 54s
Growing the Table
2m 41s
Removing Data
2m 44s
Finding Data
1m 19s
Enumerating
1m 16s
Code: Hash Table
8m 14s
Demo: Counting Words
4m 19s
Summary
1m 11s

Description

In this course we will look at the core data structures and algorithms used in everyday applications. We will discuss the trade-offs involved with choosing each data structure, along with traversal, retrieval, and update algorithms. This is part 1 of a two-part series of courses covering algorithms and data structures. In this part we cover linked lists, stacks, queues, binary trees, and hash tables.