**COURSE**

# Data Structures and Algorithms

Learn how computers work, and how they work with data, in our Data Structures and Algorithms course.

You'll learn about memory and Unicode, modularity and abstraction, binary search, data structures, and recursion. You'll also learn about how to convert to binary and hexadecimal, the top systems that computers use when storing values or representing a color.

Then, you'll learn how to optimize your algorithms to cut down on runtime using a framework called time complexity. Time complexity is important because the faster an algorithm runs, the faster your code will run. Mastering this sort of optimization will help you write better, more efficient code.

At the end of the course, you'll complete a project in which you will create a linear time search algorithm and a logarithmic time search algorithm to explore airplane accident data. This project is a chance for you to combine the skills you learned in this course and practice writing efficient algorithms and implementing data structures. This project also serves as a portfolio project that you can showcase to your future employers to demonstrate your advanced data science skill set.

By the end of this course, you'll be able to:

## START LEARNING

By creating an account you agree to accept our terms of use and privacy policy.

## Learn about Data Structures and Algorithms

### Memory and Unicode

Learn about computer memory and Unicode by analyzing excerpts from CIA reports.

### Algorithms

Learn to write efficient code by analyzing NBA data.

### Binary Search

Learn to implement a more efficient search algorithm while looking at NBA player data.

### Data Structures

Learn how different data structures are organized, and what trade-offs they make.

### Recursion And Advanced Data Structures

Learn how to use recursion to make your code logic more compact.

### Investigating Airplane Accidents

Use search algorithms and data structures to explore airplane accidents data.