Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Data Structures

via Brilliant


The way we store and manipulate data with computers is a core part of computer science. In Data Structures, you'll start with the basics, like arrays and sorting, and build up to more complex data types and data structures.

By the end of this course, you’ll have discovered algorithms that can be used to store data quickly, rearrange it efficiently, and access it easily.


  • Intro to Algorithms: Learn how to store and manipulate data to efficiently answer questions.
    • Arrays: Arrays are one of the most fundamental data structures in computing.
    • Searching: Arrays are collections of data. You search when you want to know what's in the collection.
    • Insertion Sort: Transform an array into a sorted array with this classic algorithm.
    • The Speed of Algorithms: How fast does an algorithm run? Use the language computer scientists use to answer this question!
  • Recursion: We need to go deeper - with this tool for efficiency and elegance in programming.
    • Recursion: Recursion is a concept found in both nature and computer science.
    • Divide and Conquer: We can solve problems in powerful ways by splitting them into pieces first.
    • Mergesort: What's easier than sorting one big sequence? Creating a sorted sequence from two smaller sorted sequences!
    • Quicksort: Quicksort, like Mergesort, uses the divide-and-conquer strategy to quickly sort arrays.
    • Linked List: Linked lists are a recursive data structure that can be used to implement stacks and queues.
  • Stacks and Queues: One thing after another.
    • Stacks: Arrange information in a computer the same way you arrange books on your desk.
    • Queues: Many algorithms are like grocery stores: more orderly when everyone waits their turn in line.
  • Binary Trees: A look at trees (and search trees) in our quest for superior data structures.
    • Binary Trees: Binary trees are a fundamental tool for flexibly organizing data.
    • Traversals: There are many ways to work your way through a binary tree.
    • Binary Search Trees: Binary trees make data easy to store and fast to locate.
    • Tree Rotations: To keep a binary tree balanced, you'll often need to rotate some nodes around.
    • Red Black Trees: Learn a powerful technique for making sure your search trees stay balanced.
  • Heaps: A clever, efficient data structure for data types like priority queues.
    • Priority Queues: A stack or a queue won't help if you need the most important thing first. Priority queues come to the rescue!
    • Binary Heaps: Heaps implement priority queues by bringing the important things to the top of a binary tree.
    • Treaps: Take a page from heaps to easily keep your binary search trees balanced.


Start your review of Data Structures

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.