Data Structures and Algorithms Part 1
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.
Algorithms and Data Structures 1: Linked List
Introduction1m
Node Chains2m
Code: Node Chains5m
Linked List0m
Add Items4m
Remove Items1m
Enumerate1m
Code: Singly Linked List11m
Doubly Linked List1m
Code: Doubly Linked List8m
Modern Implementations2m
Summary and References1m
Algorithms and Data Structures: Stack
Introduction1m
Push & Pop2m
Stack (Linked List)2m
Code: Stack (Linked List)1m
Stack (Array)1m
Code: Stack (Array)4m
Postfix Calculator3m
Demo: Postfix Calculator3m
Demo: Undo6m
Other Implementations1m
Summary and Reference0m
Algorithms and Data Structures 1: Queue
Introduction1m
Enqueue and Dequeue3m
Linked List Implementation2m
Code: Linked List Implementation2m
Demo: Queue3m
Array Implementation3m
Code: Array Implementation8m
Priority Queue1m
Code: Priority Queue2m
Demo: Priority Queue2m
.NET and C++1m
Summary and Reference0m
Algorithms and Data Structures: Binary Trees
Introduction0m
What is a Tree?3m
Binary Trees2m
Adding Data2m
Finding Data3m
Removing Data7m
Traversals6m
Code: Binary Tree14m
Demo: Sorting Words2m
Summary0m
Algorithms and Data Structures: Hash Tables
Introduction0m
Hash Tables2m
Hashing Overview4m
String Hashing6m
Demo: String Hashing4m
Adding Data1m
Handling Collisions2m
Growing the Table2m
Removing Data2m
Finding Data1m
Enumerating1m
Code: Hash Table8m
Demo: Counting Words4m
Summary1m
00. Linked List
|
|
|
|
0 Introduction
|
1 Node Chains
|
2 Code Node Chains
|
3 Linked List
|
|
|
|
|
4 Add Items
|
5 Remove Items
|
6 Enumerate
|
7 Code Singly Linked List
|
|
|
|
|
8 Doubly Linked List
|
9 Code Doubly Linked List
|
10 Modern Implementations
|
11 Summary and References
|
01. Stack
|
|
|
|
12 Introduction
|
13 Push
|
14 Stack Linked List
|
15 Code Stack Linked List
|
|
|
|
|
16 Stack Array
|
17 Code Stack Array
|
18 Postfix Calculator
|
19 Demo Postfix Calculator
|
|
|
|
|
20 Demo Undo
|
21 Other Implementations
|
22 Summary and Reference
|
02. Queue
|
|
|
|
23 Introduction
|
24 Enqueue and Dequeue
|
25 Linked List Implementation
|
26 Code Linked List Implementation
|
|
|
|
|
27 Demo Queue
|
28 Array Implementation
|
29 Code Array Implementation
|
30 Priority Queue
|
|
|
|
|
31 Code Priority Queue
|
32 Demo Priority Queue
|
33 .NET and C++
|
34 Summary and Reference
|
03. Binary Trees
|
|
|
|
35 Introduction
|
36 What is a Tree
|
37 Binary Trees
|
38 Adding Data
|
|
|
|
|
39 Finding Data
|
40 Removing Data
|
41 Traversals
|
42 Code Binary Tree
|
|
|
||
43 Demo Sorting Words
|
44 Summary
|
04. Hash Tables
|
|
|
|
45 Introduction
|
46 Hash Tables
|
47 Hashing Overview
|
48 String Hashing
|
|
|
|
|
49 Demo String Hashing
|
50 Adding Data
|
51 Handling Collisions
|
52 Growing the Table
|
|
|
|
|
53 Removing Data
|
54 Finding Data
|
55 Enumerating
|
56 Code Hash Table
|
|
|
||
57 Demo Counting Words
|
58 Summary
|