Python Data Structures A to Z
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.
Native Python Data Structures
Welcome to Python Data Structures! This brief introduction tells what topics we'll cover and why they're important.
Learn to use common features of Sequence types (Strings, Lists and Tuples), including indexing, slicing, iterating, counting, summation, checking membership, sorting, etc.
Learn detailed features of Python's built-in data structures, Lists, Tuples, Sets and Dictionaries. This lesson uses a series of code examples in a Jupyter notebook that is easy to follow.
Learn to use Python's powerful List Comprehensions to create new lists.
Test your knowledge of Python's native data structures covered in section 1.
Queues, Stacks and Heaps
Introduction to Stacks, and their key operations, push, pop and peek. This lecture also covers key use cases for stacks, and demonstrates how to implement a stack in Python.
Introduction to Queues, their key operations, primary use cases, and how to implement a queue in Python.
This lecture explains the Heap data structure, its key operations (push, peek and pop), how the heap works, and how to implement a MaxHeap in Python.
Test your knowledge of queues, stacks and heaps.
Learn what a Linked List is, what key operations it supports, and learn how to implement a Linked List in Python.
This lecture explains how Circular Link Lists work, how they differ from regular linked lists, and how to implement them in Python.
Learn about Doubly (bi-directional) Linked Lists, how they work, and how to implement in Python.
Test what you learned about Linked Lists.
Introduction to Binary Search Trees
Learn what trees are, key terminology related to trees, how the key operations for binary search trees work, and the advantages of trees.
This lecture shows how to implement a binary search tree in Python.
A few easy questions on Trees.
Introduction to Graphs
This lecture explains what graphs are used for, the difference between directed and undirected graphs, and explains conceptually how graphs can be implemented using adjacency lists or an adjacency matrix.
This lecture explains how to implement a Graph data structure in Python using Adjacency Lists.
This lecture explains how to implement a Graph data structure in Python using an Adjacency Matrix.
Test your knowledge of the concepts of graphs. Implementation details are not covered in this quiz.