Data Science Skills acquired by DataCamp Online-Learning
Data Science Skills acquired by DataCamp Online-Learning

Data Structures and Algorithms in Python

Most computer programs are based on a few data structures and algorithms. Learn about what’s behind the hood of most of your computer interactions in this four-hour course! You’ll familiarize yourself with some of the most common data structures: linked lists, stacks, queues, graphs and trees. You’ll also implement popular algorithms, such as Depth First Search, Breadth First Search, Bubble sort, Merge sort, and Quicksort. You'll practice applying data structures and algorithms to decks of cards, music playlists, international dishes, and stacks of books. You’ll walk away with the ability to recognize common data structures and algorithms and implement them in day-to-day applications! Along the way, you’ll stop to analyze popular algorithms in terms of their efficiency. You’ll come to grips with “Big O Notation”, the industry standard for describing the complexity of an algorithm. Being well-versed in data structures and algorithms means taking everyday problems and solving them using efficient code. You’ll be practising this in Python, taking these fundamental and transferable skills to any programming language.

1. Work with Linked Lists and Stacks and Understand Big O notation

You’ll begin by learning what algorithms and data structures are. You will discover two data structures: linked lists and stacks. You will then learn how to calculate the complexity of an algorithm by using Big O Notation.

2. Queues, Hash Tables, Trees, Graphs, and Recursion

This second chapter will teach you the basics of queues, hash tables, trees, and graphs data structures. You will also discover what recursion is.

3. Searching algorithms

This chapter will focus on searching algorithms, like linear search, binary search, depth first search, and breadth first search. You will also study binary search trees and how to search within them.

4. Sorting algorithms

This chapter will teach you some sorting algorithms, like bubble sort, selection sort, insertion sort, merge sort, and quicksort.