

University of Illinois Urbana Champaign - Unordered Data Structures
- Offered byCoursera
- Public/Government Institute
Unordered Data Structures at Coursera Overview
Duration | 21 hours |
Total fee | Free |
Mode of learning | Online |
Official Website | Explore Free Course |
Credential | Certificate |
Unordered Data Structures at Coursera Highlights
- Shareable Certificates
- Graded Programming Assignments
- Start instantly and learn at your own schedule
Unordered Data Structures at Coursera Course details
- 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.
Unordered Data Structures at Coursera Curriculum
Orientation; Hashing
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++
Syllabus
Additional References for C++
Week 1 Overview
Important Tips and Notes for All Challenge Problems
Guidelines for Asking for Help With Code
Orientation Quiz
Week 1 Quiz
Week 1 Challenge Problem
Disjoint Sets
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
Week 2 Overview
Terminology Note: "Disjoint Sets" and "Union-Find"
Week 2 Quiz
Week 2 Challenge Problem
Graph Data Structures
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 Overview
Week 3 Quiz
Week 3 Challenge Problem
Graph Algorithms
4.1.1 Graphs: BFS Traversal
4.1.2 Graphs: BFS Analysis
4.1.3 Graphs: DFS Traversal
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
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 Overview
Week 4 Quiz
Week 4 Challenge Problem