Data Structures and Algorithms in Python
Explore data structures such as linked lists, stacks, queues, hash tables, and graphs; and search and sort algorithms!
Start Course for Free4 hours16 videos49 exercises18,089 learnersStatement of Accomplishment
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.Training 2 or more people?
Try DataCamp for BusinessLoved by learners at thousands of companies
Course Description
Recognize Popular Data Structures and Algorithms
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, and trees. You’ll also implement popular algorithms, such as Depth First Search, Breadth First Search, Bubble sort, Merge sort, and Quicksort.Learn to Spot Data Structures and Algorithms in Everyday Life
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!Analyze the Efficiency of Algorithms
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.Sharpen Your Python Programming Knowledge
Being well-versed with data structures and algorithms means being able to take everyday problems and solve them using efficient code. You’ll be practising this in Python, you’ll take these fundamental and transferable skills with you to any programming language.Training 2 or more people?
Get your team access to the full DataCamp platform, including all the features.In the following Tracks
Python Developer
Go To TrackPython Programming Toolbox
Go To Track- 1
Work with Linked Lists and Stacks and Understand Big O notation
FreeYou’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.
Welcome!50 xpImplementing a linked list100 xpInserting a node at the beginning of a linked list100 xpRemoving the first node from a linked list100 xpUnderstanding Big O Notation50 xpBig O Notation: true or false?100 xpPracticing with Big O Notation100 xpWorking with stacks50 xpImplementing a Stack with the push method100 xpImplementing the pop method for a stack100 xpUsing Python's LifoQueue100 xp - 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.
Working with queues50 xpImplementing a queue for printer tasks100 xpUsing Python's SimpleQueue100 xpHash tables50 xpCorrecting bugs in a dictionary100 xpIterating over a nested dictionary100 xpTrees and graphs50 xpCorrecting bugs in a tree implementation100 xpBuilding a weighted graph100 xpUnderstanding Recursion50 xpFibonacci sequence100 xpTowers of Hanoi100 xp - 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.
Linear Search and Binary Search50 xpImplementing binary search100 xpBinary search using recursion100 xpBinary Search Tree (BST)50 xpInserting a node into a binary search tree100 xpFinding the minimum node of a BST100 xpDepth First Search (DFS)50 xpPrinting book titles in alphabetical order100 xpUsing pre-order traversal with Polish notation100 xpImplementing DFS for graphs100 xpBreadth First Search (BFS)50 xpUsing breadth first search in binary trees50 xpFinding a graph vertex using BFS100 xp - 4
Sorting algorithms
This chapter will teach you some sorting algorithms, like bubble sort, selection sort, insertion sort, merge sort, and quicksort.
Bubble Sort50 xpSorting numbers using bubble sort100 xpCorrecting a bug in the bubble sort algorithm100 xpSelection Sort and Insertion Sort50 xpCoding selection sort100 xpSorting cards using insertion sort100 xpMerge sort50 xpMerge sort: true or false?100 xpCorrecting a bug in the merge sort algorithm100 xpQuicksort50 xpSorting numbers using quicksort100 xpImplementing the quicksort algorithm100 xpCongratulations!50 xp
Training 2 or more people?
Get your team access to the full DataCamp platform, including all the features.In the following Tracks
Python Developer
Go To TrackPython Programming Toolbox
Go To Trackcollaborators
Miriam Antona
See MoreSoftware Engineer
Miriam is a freelance Software Engineer with 15+ years of experience. She is focused on analyzing, designing, and developing software applications. She also collaborates with the UOC University supervising Bachelor theses. Miriam loves programming and experimenting with different technologies. She is passionate about databases and enjoys playing with data. She holds a Master of Science Degree in Computer Engineering.
Join over 15 million learners and start Data Structures and Algorithms in Python today!
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.