Discover and design new data structures that follow abstract rule-based systems by building out graphs, hash-maps, and heaps.
### Why Learn Complex Data Structures?
These data structures use a layer of abstraction to make specific operations much more straightforward. They're designed as solutions for problems that don't require linear iteration, but have more nuanced requirements.
### Take-Away Skills:
This course introduces the theory and implementation of abstract data structures. After this course, you'll be ready to solve advanced algorithmic problems like path-finding and maintaining priority queues.
### Notes on Prerequisites:
This course is a continuation of our Linear Data Structures syllabus, which introduces other data structures you might encounter. Since you'll be implementing these data structures in Python, we recommend you take our Python curriculum to become familiar with the language.
### Why Learn Complex Data Structures?
These data structures use a layer of abstraction to make specific operations much more straightforward. They're designed as solutions for problems that don't require linear iteration, but have more nuanced requirements.
### Take-Away Skills:
This course introduces the theory and implementation of abstract data structures. After this course, you'll be ready to solve advanced algorithmic problems like path-finding and maintaining priority queues.
### Notes on Prerequisites:
This course is a continuation of our Linear Data Structures syllabus, which introduces other data structures you might encounter. Since you'll be implementing these data structures in Python, we recommend you take our Python curriculum to become familiar with the language.