Introduction to Data Structures and Algorithms
Learning Goals
- Evaluate the properties of common data structures (lists and dictionaries).
- Establish a general process to build data structures.
- Identify when to use different data structures.
- Identify some of the efficiency issues of using different algorithms in terms of time complexity.
Key Vocab
- Data Structure: a specialized means of organizing and storing data in computers.
- Algorithm: a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.
Introduction
In this section, we'll return to a topic that will help you greatly as you prepare for the job hunt and get ready for technical interviews: data structures and algorithms! Understanding when to use different data structures and algorithms as well as how to implement them will equip you with more tools to solve common algorithm problems more efficiently, and will also improve your skills at writing Object Oriented code.
In this section, you will:
- Evaluate the tradeoffs between choosing one data structure or algorithm over another.
- Implement common data structures and algorithms.
- Identify the Big O of common data structure methods.
- Apply common data structures to algorithm problems.
In the coming lessons, we'll cover these objectives by introducing several common data structures and algorithms, showing how to implement them in Python, and giving you practice with problems that can be solved using these data structures and algorithms so you can recognize common patterns to identify when a particular data structures and algorithm is appropriate.
Let's dive in!
Resources
- VisuAlgo
- Visualize algorithms with animations!
- LeetCode Learn
- Study guides for common data structures and algorithms