“The beauty of Dataquest is that it starts at the most basic level, so a true beginner can understand the concepts”

## Course overview

In this course, you’ll learn about recursion, binary trees, binary heaps, and more. By the end, you’ll be able to explain the difference between iteration and recursion, build a binary heap to query large datasets, implement and query a dataset using Binary Search trees, and more.

Best of all, you’ll learn by doing — you’ll practice and get feedback directly in the browser. At the end of the course, you’ll complete a guided project in which you’ll use a B-Tree to implement a key-value datastore in Python.

## Key skills

• Traversing tree data structures using recursion
• Using different types of tree data structures
• Explaining the various types of tree data structures

## Course outline

### Overview of Recursion 2h

Lesson Objectives
• Traverse tree data structures using recursion
• Identify the different types of tree data structures
• Implement different tree data structures

### Introduction to Binary Trees 1h

Lesson Objectives
• Define the binary tree structure
• Identify common algorithms used on the binary tree

### Working with Binary Search Trees 1h

Lesson Objectives
• Run a binary search tree
• Identify when to use a binary search tree over a heap
• Identify the runtime of binary search tree algorithms

### Implementing a Binary Heap 1h

Lesson Objectives
• Build a binary heap structure
• Determine which problems to solve using a binary heap
• Identify the runtime of binary heap algorithms

### Performance Boosts of Using a B-Tree 1h

Lesson Objectives
• Run a B-Tree
• Determine when to use a B-Tree over a binary search tree
• Implement important B-Tree algorithms

### Implement a B-Tree data structure 1h

Lesson Objectives
• Speed up search queries using an index
• Measure B-Tree algorithm speeds

### Implementing a CSV Index with a B-Tree 1h

Lesson Objectives
• Extend a class
• Build range queries for a B-tree
• Serialize python objects

### Guided Project: Implementing a Key-Value Database 1h

Lesson Objectives
• Adapt a data structure to create a database
• Implement a key-value database

## Projects in this course

### Implementing a Key-Value Database

For this project, we’ll step into the role of Python developers to build a key-value database using B-trees, enhancing it with features like range queries and dictionary-like syntax.

## The Dataquest guarantee

Dataquest has helped thousands of people start new careers in data. If you put in the work and follow our path, you’ll master data skills and grow your career.

We believe so strongly in our paths that we offer a full satisfaction guarantee. If you complete a career path on Dataquest and aren’t satisfied with your outcome, we’ll give you a refund.

## Master skills faster with Dataquest

### Go from zero to job-ready

Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.

Build confidence with our in-depth projects, and show off your data skills.

### Challenge yourself with exercises

Work with real data from day one with interactive lessons and hands-on exercises.

Share the evidence of your hard work with your network and potential employers.

98%
of learners recommend
4.85
Dataquest rating
SwitchUp Best Bootcamps
\$30k
Average salary boost
for learners who complete a path

### Aaron Melton

“Dataquest starts at the most basic level, so a beginner can understand the concepts. I tried learning to code before, using Codecademy and Coursera. I struggled because I had no background in coding, and I was spending a lot of time Googling. Dataquest helped me actually learn.”

### Jessica Ko

#### Machine Learning Engineer at Twitter

“I liked the interactive environment on Dataquest. The material was clear and well organized. I spent more time practicing then watching videos and it made me want to keep learning.”

### Victoria E. Guzik

#### Associate Data Scientist at Callisto Media

“I really love learning on Dataquest. I looked into a couple of other options and I found that they were much too handhold-y and fill in the blank relative to Dataquest’s method. The projects on Dataquest were key to getting my job. I doubled my income!”

1

2

3

4