- Level Foundation
- Duration 21 hours
- Course by University of Illinois Urbana-Champaign
-
Offered by
About
The Unordered Data Structures course covers the data structures and algorithms needed to implement hash tables, disjoint sets and graphs. These fundamental data structures are useful for unordered data. For example, a hash table provides immediate access to data indexed by an arbitrary key value, that could be a number (such as a memory address for cached memory), a URL (such as for a web cache) or a dictionary. Graphs are used to represent relationships between items, and this course covers several different data structures for representing graphs and several different algorithms for traversing graphs, including finding the shortest route from one node to another node. These graph algorithms will also depend on another concept called disjoint sets, so this course will also cover its data structure and associated algorithms.Modules
Orientation
1
Assignment
- Orientation Quiz
2
Readings
- Syllabus
- Additional References for C++
Week 1 Overview
1
Readings
- Week 1 Overview
Lesson 1: Hashing
7
Videos
- Lesson 1.1.1 Hashing Introduction
- Lesson 1.1.2 Hashing - Hash Function
- Lesson 1.1.3 Hashing - Hash Function Examples
- Lesson 1.1.4 Collision Handling I: Separate Chaining
- Lesson 1.1.5 Collision Handling II: Probing and Double Hashing
- Lesson 1.1.6 Hashing Analysis
- Lesson 1.1.7 Hash Tables in C++
Week 1 Graded Activities
- Unordered Map Project
2
Assignment
- Week 1 Quiz
- Week 1 Challenge Problem
2
Readings
- Important Tips and Notes for All Challenge Problems
- Guidelines for Asking for Help With Code
Week 2 Information
1
Readings
- Week 2 Overview
Lesson 2: Disjoint Sets
6
Videos
- 2.1.1 Disjoint Sets: Introduction
- 2.1.2 Disjoint Sets: Naive Implementation
- 2.1.3 Disjoint Sets: UpTrees - A Better Implementation
- 2.1.4 UpTrees: Simple Running Time
- 2.1.5A UpTrees: Smart Union & Path Compression I
- 2.1.5B UpTrees: Smart Union & Path Compression II
1
Readings
- Terminology Note: "Disjoint Sets" and "Union-Find"
Week 2 Graded Activities
2
Assignment
- Week 2 Quiz
- Week 2 Challenge Problem
Week 3 Information
1
Readings
- Week 3 Overview
Lesson 3: Graph Data Structures
5
Videos
- 3.1.1 Graphs: Introduction
- 3.1.2 Graphs: Vocabulary
- 3.1.3 Graphs: Edge List Implementation
- 3.1.4 Graphs: Adjacency Matrix Implementation
- 3.1.5 Graphs: Adjacency List Implementation
Week 3 Graded Activities
- Graph Search Project
2
Assignment
- Week 3 Quiz
- Week 3 Challenge Problem
Week 4 Information
1
Readings
- Week 4 Overview
Lesson 4.1 Graph Traversal
3
Videos
- 4.1.1 Graphs: BFS Traversal
- 4.1.2 Graphs: BFS Analysis
- 4.1.3 Graphs: DFS Traversal
Lesson 4.2 Minimum Spanning Trees
4
Videos
- 4.2.1 Minimum Spanning Trees (MST) Introduction
- 4.2.2 MST: Kruskal's Algorithm I
- 4.2.3 MST: Kruskal's Algorithm II
- 4.2.4 MST: Prim's Algorithm
Lesson 4.3 Shortest Path Algorithms
4
Videos
- 4.3.1 Graphs: Dijkstra's Algorithm
- 4.3.2 Graphs: Dijkstra's Edge Cases
- 4.3.3 Graphs: Dijkstra's Running Time
- 4.3.4 Graphs: Landmark Path Problem
Week 4 Graded Activities
2
Assignment
- Week 4 Quiz
- Week 4 Challenge Problem
Auto Summary
Explore the Unordered Data Structures course, perfect for IT & Computer Science enthusiasts. Taught by Coursera, this foundational course dives into hash tables, disjoint sets, and graph algorithms, essential for managing unordered data. With a duration of 1260 minutes, choose between Starter and Professional subscriptions to enhance your skills in data structures and algorithms. Ideal for learners eager to master efficient data handling and graph traversal techniques.

Wade Fagen-Ulmschneider