An in-depth look at native Python data structures: Strings, Lists, Tuples, Sets and Dictionaries
Introduction to Queues, Stacks, Heaps, Linked Lists, Binary Search Trees and Graphs, including concepts of how they work, pros and cons, and how to Implement and use them in Python.
Should be familiar with Python programming fundamentals such as how to use variables and functions.
Alternatively, if you are already proficient with another language and are just starting to learn Python as a second language you could probably keep up with this course.
This course combines conceptual lectures to explain how a data structure works, and code lectures that walk through how to implement a data structure in Python code. All the code lectures are based on Python 3 code in a Jupyter notebook. All the code and presentations are available for download on Github.
Data structures covered in this course include native Python data structures String, List, Tuple, Set, and Dictionary, as well as Stacks, Queues, Heaps, Linked Lists, Binary Search Trees, and Graphs.
Who this course is for:
Beginner or intermediate Python programmers who want to gain a solid understanding of data structures.
Anyone who already knows another programming language and wants to learn general data structures used in programming, while learning Python.
This course will prepare students for an algorithms course.
5 sections • 15 lectures • 2h 9m total length
Using Lists, Tuples, Sets and Dictionaries
List Functions Coding Exercise
Write a list comprehension to create the following list: [5, 10, 15, 20]
Section 1 Quiz
Stacks in Python
Queues in Python
Write a wrapper class for the Queue class, similar to what we did for Stack, but using Python deque.
Joe James has lived in Silicon Valley for 30 years. He has helped grow several startups in executive sales and marketing roles, and has worked as a senior software engineer in industry leaders Samsung, Epson and Cisco. Joe founded a growing computer science tutorial YouTube channel in 2014, and holds both an MBA and an MS in Computer Science.