Course Highlights
  • The algorithms behind fundamental data structures (dynamic arrays, linked structures, (un)balanced trees/tries, graph algorithms, hash tables/functions)
  • How to reason about appropriate data structures to solve problems, including their strengths and weaknesses
  • How to analyze algorithms theoretically (worst-case, average-case, and amortized)
  • The key distinctions and relations between "Abstract Data Types" and "Data Structures"
  • Basic information theory and data compression utilizing the data structures covered
Curriculum

8 Topics
Welcome to Data Structures!
Tick Tock Tick Tock
Classes of Computational Complexity
The Fuss of C++
Random Numbers
Bit-by-Bit
The Terminal-ator
Git: the "Undo" Button of Software Development

9 Topics
Array Lists
Linked Lists
Skip Lists
Circular Arrays
Abstract Data Types
Deques
Queues
Stacks
And the Iterators Gonna Iterate-ate-ate

9 Topics
Lost in a Forest of Trees
Heaps
Binary Search Trees
BST Average-Case Time Complexity
Randomized Search Trees
AVL Trees
Red-Black Trees
B- Trees
B+ Trees

7 Topics
Introduction to Graphs
Graph Representations
Algorithms on Graphs: Breadth-First Search
Algorithms on Graphs: Depth-First Search
Dijkstra's Algorithm
Minimum Spanning Trees: Prim's and Kruskal's Algorithms
Disjoint Sets

8 Topics
The Unquenched Need for Speed
Hash Functions
Introduction to Hash Tables
Probability of Collisions
Collision Resolution: Open Addressing
Collision Resolution: Closed Addressing (Separate Chaining)
Collision Resolution: Cuckoo Hashing
Hash Maps

7 Topics
Creating a Lexicon
Using Linked Lists
Using Arrays
Using Binary Search Trees
Using Hash Tables and Hash Maps
Using Multiway Tries
Using Ternary Search Trees

4 Topics
Return of the (Coding) Trees
Entropy and Information Theory
Honey I Shrunk the File
Bitwise 1/0

1 Topic
Summaries of Data Structures

  Write a Review

UCSanDiegoX: Data Structures: An Active Learning Approach

Go to Paid Course