Python Data Structures and Algorithms
2h 19mIntermediate2023-12-21
Authors

Robin Andrews
Founder of Compucademy
Course details
Software developers know that efficient underlying architecture is essential to the technologies we use every day. Knowledge of data structures and the algorithms which they support helps developers choose the most suitable solution for a given context, making them better programmers who stand out to their company, clients, or prospective employers. In this course, leveraging the Python programming language, instructor Robin Andrews uses a combo of visual, theoretical, and hands-on programming approaches to explain concepts in a fun and accessible way. Robin explains some of the most important data structures such as stacks, queues, and priority queues, and how these are used by search algorithms such as depth-first search, breadth-first search, and the A-star (A*) algorithm. He shows how to trace the execution of algorithms. Along the way, he provides challenges that allow you to test your new skills.
Skills covered
Data EngineeringPythonProgramming LanguagesData ScienceOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Python data structures and algorithms in action
- 02 - What you should know
1. Pathfinding Algorithms in a Maze Game
- 03 - Understand the example application
- 04 - Navigate the GUI
2. The Stack Data Structure
- 05 - Understand the stack data structure
- 06 - Build a stack class in Python
- 07 - Solution - Reverse a string using a stack
3. The 2D List Data Structure
- 08 - Understand the 2D list data structure
- 09 - Represent a maze as a 2D list
- 10 - Read a maze from a text file
- 11 - Challenge - Read and display a maze from a text file
- 12 - Solution - Read and display a maze from a text file
4. Depth-First Search Algorithm
- 13 - Understand the depth-first search algorithm
- 14 - Visualize depth-first search on a grid
- 15 - Use the Grid Tracer app
- 16 - Code a depth-first search in Python
- 17 - Challenge - Trace the path of a depth-first search
- 18 - Solution - Trace the path of a depth-first search
5. The Queue Data Structure
- 19 - Understand the queue data structure
- 20 - Build a queue class in Python
- 21 - Solution - Practice queue methods
6. The Breadth-First Search Algorithm
- 22 - Understand the breadth-first search algorithm
- 23 - Visualize breadth-first search in a grid
- 24 - Code a breadth-first search in Python
- 25 - Challenge - Trace the path of a breadth-first search
- 26 - Solution - Trace the path of a breadth-first search
7. The Priority Queue Data Structure
- 27 - Understand the priority queue data structure
- 28 - Use the heap module to implement a priority queue
- 29 - Solution - Heapq methods practice
8. The A Search Algorithm
- 30 - Understand the A search algorithm
- 31 - Visualize the A algorithm
- 32 - Code the A algorithm in Python
- 33 - Challenge - Trace the path of an A search
- 34 - Solution - Trace the path of an A search
Conclusion
- 35 - Pathfinding algorithms in the course maze GUI
- 36 - Parting comments and what comes next
Related courses
- Build with AI: Developing a Code Review Assistant
- Python Data Structures: Stacks, Deques, and Queues
- Programming Foundations: Data Structures
- Programming Foundations: Algorithms
- Programming Foundations: Algorithms (2018)
- Faster Python Code
- Python Code Challenges: Working with Data
- Python for Data Science and Machine Learning Essential Training Part 1
Related learn paths
- Advance Your Skills in Python
- Getting Started with Python
- Advance Your Python in Excel Skills
- Become a Programmer: Foundations
- Python for Data Professionals in Healthcare
- Hands-On Healthcare Analytics
- Advance Your Python Skills for Data Science
- Prepare for the MTA: Software Development Fundamentals Exam (98-361)