**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

Resolve the captcha to access the links!