Python Data Structures and Algorithms 2020

Python Data Structures and Algorithms 2020

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 2h 16m | 397 MB

Software developers know that efficient underlying architecture is essential to the technologies we use every day. Knowledge of data structures, and the supported algorithms, 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, which is useful for path finding within mazes.

Table of Contents

Introduction
1 Python data structures and algorithms in action
2 What you should know

Pathfinding Algorithms in a Maze Game
3 Understand the example application
4 Navigate the GUI

The Stack Data Structure
5 Understand the stack data structure
6 Build a stack class in Python
7 Challenge Reverse a string using a stack
8 Solution Reverse a string using a stack

The 2D List Data Structure
9 Understand the 2D list data structure
10 Represent a maze as a 2D list
11 Read a maze from a text file
12 Challenge Read and display a maze from a text file
13 Solution Read and display a maze from a text file

Depth-First Search Algorithm
14 Understand the depth-first search algorithm
15 Visualize depth-first search on a grid
16 Use the Grid Tracer app
17 Code a depth-first search in Python
18 Challenge Trace the path of a depth-first search
19 Solution Trace the path of a depth-first search

The Queue Data Structure
20 Understand the queue data structure
21 Build a queue class in Python
22 Challenge Practice queue methods
23 Solution Practice queue methods

The Breadth-First Search Algorithm
24 Understand the breadth-first search algorithm
25 Visualize breadth-first search in a grid
26 Code a breadth-first search in Python
27 Challenge Trace the path of a breadth-first search
28 Solution Trace the path of a breadth-first search

The Priority Queue Data Structure
29 Understand the priority queue data structure
30 Use the heap module to implement a priority queue
31 Challenge Heapq methods practice
32 Solution Heapq methods practice

The A Search Algorithm
33 Understand the A search algorithm
34 Visualize the A algorithm
35 Code the A algorithm in Python
36 Challenge Trace the path of an A search
37 Solution Trace the path of an A search

Conclusion
38 Pathfinding algorithms in the course maze GUI
39 Parting comments and what comes next