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.
Overview
Syllabus
Introduction
- Python data structures and algorithms in action
- What you should know
- Understand the example application
- Navigate the GUI
- Understand the stack data structure
- Build a stack class in Python
- Solution: Reverse a string using a stack
- 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
- 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
- Understand the queue data structure
- Build a queue class in Python
- Solution: Practice queue methods
- 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
- Understand the priority queue data structure
- Use the heap module to implement a priority queue
- Solution: Heapq methods practice
- 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
- Pathfinding algorithms in the course maze GUI
- Parting comments and what comes next
Taught by
Robin Andrews