700+ courses, half price
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.Feels like what you want to learn?
Start Course for FreeWhat you'll learn
- Assess the effect of recursion and dynamic programming techniques on algorithm performance in given Python examples
- Differentiate among bubble sort, selection sort, insertion sort, merge sort, and quicksort with respect to procedural steps and efficiency metrics
- Distinguish between linear search, binary search, depth-first search, and breadth-first search based on logic flow and computational performance
- Evaluate the time and space complexity of algorithms by applying Big O notation to provided code snippets
- Identify the appropriate Python data structure—linked lists, stacks, queues, hash tables, trees, or graphs—for specified problem requirements
Prerequisites
Curriculum
Course outline
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.
- Welcome!50 XP
- Implementing a linked list100 XP
- Inserting a node at the beginning of a linked list100 XP
- Removing the first node from a linked list100 XP
- Understanding Big O Notation50 XP
- Big O Notation: true or false?100 XP
- Practicing with Big O Notation100 XP
- Working with stacks50 XP
- Implementing a Stack with the push method100 XP
- Implementing the pop method for a stack100 XP
- Using 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.
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.
Data Structures and Algorithms in Python
Course
Complete

