Python Data Structures and Algorithms
Overview
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
- 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
- Challenge: Reverse a string using a stack
- 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
- Challenge: Practice queue methods
- 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
- Challenge: Heapq methods practice
- 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
Related Courses
-
Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms
Georgia Institute of Technology
-
Graph Search, Shortest Paths, and Data Structures
Stanford University
-
Data Structures and Algorithms
Tsinghua University
-
Algorithms, Part II
Princeton University
4.8 -
Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues
Georgia Institute of Technology
-
Data Structures
University of Madras, Chennai, CEC
Reviews
0.0 rating, based on 0 reviews