- Checklist
- stack
- queue
- linked list
- binary tree
- graph
State 1 • 4 weeks
- Lesson 1: Introduction to Data Structures Introduction to the Data Structures course.
- Lesson 2: Arrays and Linked Lists Learn about Arrays and Linked Lists
- Lesson 3: Stacks and Queues Build Stacks and Queues
- Lesson 4: Recursion Apply Recursion to Problems
- Lesson 5: Trees Learn about basic tree's, tree traversal and binary search trees.
- Lesson 6: Maps and Hashing Explore the concepts of maps and hashes.
- Lesson 7 • Project: Show Me the Data Structures Solve a series of open-ended practice problems. Hone your skills to identify and implement appropriate data structures and corresponding methods that meet given constraints.
State 2 • 4 weeks
Basic Algorithms Learn about the basic algorithms used in programming.
- Lesson 1: Basic Algorithms Start out with some elementary algorithms such as binary search, tries, heaps and more.
- Lesson 2: Sorting Algorithms Learn about the most common sorting algorithms.
- Lesson 3: Faster Divide & Conquer Algorithms Go deeper into algorithms with faster divide and conquer algorithms.
- Lesson 4 • Project: Problems vs. Algorithms A series of real-world open ended problems which train you to apply suitable data structures and algorithms under different context.
State 3 • 4 weeks
Advanced Algorithms Learn about the basic algorithms used in programming.
- Lesson 1: Greedy Algorithms Get familiar with and practice greedy algorithms.
- Lesson 2: Graph Algorithms Learn about the many aspects of graph algorithms!
- Lesson 3: Dynamic Programming Learn about dynamic programming and apply your learnings to challenging exercises.
- Lesson 4: A*
- Lesson 5 • Project: Route Planner