**DATA STRUCTURES AND ALGORITHMS > MISSION 4 > DATA STRUCTURES**

# Data Structures

In the previous module, you learned an algorithm known Binary Search and improve your knowledge of data structures and algorithms.

In this module, you'll learn about different structures in Python. When you began learning Python for Data Science, you encountered two data structures: lists and dictionaries. While these are good for organizing data, there are many others and which one you choose depends on a few factors.

As this module progresses, we'll show you different types of data structures and what you need to consider when choosing the right one for your program.

Learning about data structures can be tough without any hands-on practice. That's why as you work through each concept, you’ll get to apply what you’ve learned from within your browser — there's no need to use your own machine to do the exercises. The Python environment inside of this course includes answer checking so you can ensure that you've fully mastered each concept before learning the next.

#### Objectives

#### Mission Outline

1. What is a Data Structure?

2. An Overview of Arrays

3. Exercise: Dynamic Arrays

4. Exercise: Practice Inserting Into an Array

5. Two-Dimensional Arrays

6. 2D Array Implementation

7. 2D Array Time Complexity

8. An Overview of Hash Tables/Dictionaries

9. Dictionary Access

10. Hash Table Implementation

11. Hash Table Analysis

12. Exercise: Choosing a Data Structure

13. Takeaways