Expanded Library

# Algorithms and Data Structures - Part 1

A look at the core data structures and algorithms used in day-to-day applications.

## What you'll learn

In this course we will look at the core data structures and algorithms used in everyday applications. We will discuss the trade-offs involved with choosing each data structure, along with traversal, retrieval, and update algorithms. This is part 1 of a two-part series of courses covering algorithms and data structures. In this part we cover linked lists, stacks, queues, binary trees, and hash tables.

Algorithms and Data Structures 1: Linked List
43mins
Algorithms and Data Structures: Stack
32mins
Algorithms and Data Structures 1: Queue
32mins
Algorithms and Data Structures: Binary Trees
45mins
Algorithms and Data Structures: Hash Tables
44mins

## Course FAQ

What is the difference between data structure and algorithm?

Simply put, a data structure is something used for storing data and an algorithm is a series of steps taken to accompish a task and manipulate the aforementioned data.

What is the use of data structures and algorithms?

Data structures allow you to efficiently manage large amounts of data, which is key to designing an efficient algorithm, such as an internet indexing service. Ultimately data structures are a way of organizing and storing data so it can be used more efficiently.

Which language is best for data structures and algorithms?

It depends somewhat on preference, but Python and Ruby are good choices because they are high-level languages with easily readable syntax. Java is also often used for data structures and algorithms.

What will I learn in this course?

In this course you will learn the following concepts:

• Types of data structures and algorithms
• Stacks
• Queues
• Binary trees
• Hash tables
• Traversal, retrieval, and update algorithms
Who is this course for?

This course is intended for anyone interested in learning about data structures and algorithms, and how they are frequently used in applications.

Are there prerequisites for this course?

For this course you will want to be familiar with one or multiple programming languages. If you have a general understanding of building apps, that is great, but not required.