Data Structures and Algorithms
In this unit you will learn about and implement several Abstract Data Structures. You will analyze their characteristics, and their pros and cons by determining the Big-O complexity of their operations.
Your capstone project will require you to leverage your new found knowledge to produce a maze solver and pathfinding AI.
- Understand and implement a series of classic data structures in Ruby
- Learn fundamental data structures from an abstract perspective, so that you can discuss them in a language-agnostic manner
- Learn the strengths of weaknesses of various data structures in order to make informed choices
- Apply your knowledge of data structures to produce classic algorithms
Challenges should be done in order, many of them build upon each other. You should research each data structure on your own before implementing them except for Fixed Arrays. A "Fixed Array" is not a data structure per se, but we need to implement one in Ruby to build the others.
In addition to familiarizing you with classic data structures, each data structure has a set of required, standard operations. Implementing these operations will provide practice with classic algorithms.
Once you finish the challenges, return to any stretches you haven't completed and get to work. Many of the stretches represent the kinds of the problems you might see in a heavily technical interview.