Python Data Structures and Algorithms

0
Join & Subscribe
LinkedIn Learning
Free Trial Available
English
Certificate Available
2-3 hours worth of material
selfpaced

Overview

Visually study the relationship of data structures and algorithms. Learn how stacks, queues, and 2D lists are used with depth-first, breadth-first, and A-star search algorithms.

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.

Syllabus

Introduction
  • Python data structures and algorithms in action
  • What you should know
1. Pathfinding Algorithms in a Maze Game
  • Understand the example application
  • Navigate the GUI
2. The Stack Data Structure
  • Understand the stack data structure
  • Build a stack class in Python
  • Challenge: Reverse a string using a stack
  • Solution: Reverse a string using a stack
3. The 2D List Data Structure
  • Understand the 2D list data structure
  • Represent a maze as a 2D list
  • Read a maze from a text file
  • Challenge: Read and display a maze from a text file
  • Solution: Read and display a maze from a text file
4. Depth-First Search Algorithm
  • Understand the depth-first search algorithm
  • Visualize depth-first search on a grid
  • Use the Grid Tracer app
  • Code a depth-first search in Python
  • Challenge: Trace the path of a depth-first search
  • Solution: Trace the path of a depth-first search
5. The Queue Data Structure
  • Understand the queue data structure
  • Build a queue class in Python
  • Challenge: Practice queue methods
  • Solution: Practice queue methods
6. The Breadth-First Search Algorithm
  • Understand the breadth-first search algorithm
  • Visualize breadth-first search in a grid
  • Code a breadth-first search in Python
  • Challenge: Trace the path of a breadth-first search
  • Solution: Trace the path of a breadth-first search
7. The Priority Queue Data Structure
  • Understand the priority queue data structure
  • Use the heap module to implement a priority queue
  • Challenge: Heapq methods practice
  • Solution: Heapq methods practice
8. The A* Search Algorithm
  • Understand the A* search algorithm
  • Visualize the A* algorithm
  • Code the A* algorithm in Python
  • Challenge: Trace the path of an A* search
  • Solution: Trace the path of an A* search
Conclusion
  • Pathfinding algorithms in the course maze GUI
  • Parting comments and what comes next

Taught by

Robin Andrews