Data structure are tools that developers use when programming to organize data so they can access it later.

freeCodeCamp.org just released a full 3-hour video course that will introduce you to some of the most important data structures in computer science. It will teach you a wide variety of data structure concepts and how to use them.

Along the way, you'll see plenty of examples and diagrams to help you understand how each data structure works.

Some visualizations of data structures.

This course assumes you have a basic understanding of Computer Science. If you don't yet, don't worry – we've got you covered with this free 2-hour Computer Science primer.

This course, taught by Steven from NullPointer Exception, is a general overview of data structures. And the great thing is you don't need to know Java or C or any of the languages data structures are traditionally taught in.

That's right – this course is completely language-agnostic. (Though we recommend you know at least one programming language reasonably well, such as JavaScript or Python.)

Here are some of the concepts covered during this 3-hour course:

  • What are Data Structures?
  • Measuring Efficiency with BigO Notation
  • Why BigO?
  • Types of Time Complexity Equations
  • Array Basics
  • Parallel Arrays
  • Array Types
  • Populate-First Arrays
  • Populate-Later Arrays
  • Numerical Indexes
  • Replacing Information in an Array
  • 2-Dimensional Arrays
  • The ArrayList
  • Add Method
  • Remove Method
  • Get Method
  • Set Method
  • Clear Method
  • toArray Method
  • Random Access Data Structures
  • Sequential Access Data Structures
  • Stack Basics
  • Push Method
  • Pop Method
  • Peek Method
  • Contains Method
  • Queue Basics
  • Enqueue Method
  • Dequeue Method
  • Peek Method
  • Contains Method
  • Linked List Basics
  • Doubly-LinkedList Basics
  • Dictionary Basics
  • Indexing Dictionaries
  • Hash Table Mini-Lesson
  • Trees Basics
  • Hierarchical Data
  • Trie Basics
  • Heap Basics
  • Min-Heaps
  • Max-Heaps
  • Graph Basics
  • Directed vs. Undirected Graphs
  • Cyclic vs. Acyclic Graphs
  • Weighted Graphs
  • And more...

Data structures provide the backbone for many of the programs you’ll end up writing. And each of them has its own specific use cases. In this course, you will learn when and why to use each type of data structure.

📺 Watch the full course on the freeCodeCamp.org YouTube channel (3 hour watch).

🏗️ And if you want to practice building some of these data structures, freeCodeCamp has an entire interactive data structures curriculum that's part of our Coding Interview Prep section. You can build these data structures in JavaScript here.