Course
Skills Expanded

# 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.

## Table of contents

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
• Linked lists
• 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.

## About the author

Robert spent nearly 10 years at Microsoft creating software that made it easier for everyone else to write software. Most recently Robert worked on Team Foundation Server on the Administration and Version Control teams. Currently Robert can be found working in the utilities sector on Smart Grid technologies. Robert fled the Minnesota winters and currently lives near Raleigh, NC with his wife Susan and four children, Cecilia, Brian, Ben and Evelyn. When not tackling technical challenges ... more

Ready to upskill?