We may earn an affiliate commission when you visit our partners.
Joe James

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.

Enroll now

What's inside

Learning objectives

  • An in-depth look at native python data structures: strings, lists, tuples, sets and dictionaries
  • Intro to queues, stacks, heaps, linked lists, binary search trees and graphs
  • How each data structure works and how to implement and use them in python
  • Pros and cons of each data structure

Syllabus

In this section you will learn to use Python's built-in data structures: String, List, Tuple, Set and Dictionary.

Welcome to Python Data Structures! This brief introduction tells what topics we'll cover and why they're important.

Read more

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.

List Functions Coding Exercise

Learn to use Python's powerful List Comprehensions to create new lists.

Write a list comprehension to create the following list: [5, 10, 15, 20]

Test your knowledge of Python's native data structures covered in section 1.

Learn what Queues, Stacks and Heaps are, how they work, what they're used for, and how to implement them in Python.

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.

Write a wrapper class for the Queue class, similar to what we did for Stack, but using Python deque.

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 it's used for, and how to implement a linked list in Python. You will also learn how to use doubly linked lists and circular linked lists.

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.

This lecture gives an introduction to trees, and explains find and insert functions for 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.

Learn what graphs are, what they're used for, different types of graphs, and how to implement graphs in Python.

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.

Save this course

Save Python Data Structures A to Z to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python Data Structures A to Z with these activities:
Review Python Fundamentals
Solidify your understanding of Python fundamentals to better grasp the data structure implementations covered in the course.
Browse courses on Python Syntax
Show steps
  • Review basic Python syntax and data types.
  • Practice writing simple Python functions.
  • Work through introductory Python tutorials.
Review 'Grokking Algorithms'
Use a visually-oriented book to reinforce your understanding of data structures and algorithms.
Show steps
  • Read the chapters related to the data structures covered in the course.
  • Pay attention to the illustrations and examples.
  • Try to explain the concepts in your own words.
Review 'Data Structures and Algorithms in Python'
Supplement the course material with a comprehensive textbook on data structures and algorithms in Python.
Show steps
  • Read the chapters corresponding to the data structures covered in the course.
  • Work through the examples and exercises in the book.
  • Compare the book's implementations with those presented in the course.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Data Structure Visualization
Solidify your understanding of data structure operations by creating a visual representation of how they work.
Show steps
  • Choose a data structure and a specific operation (e.g., inserting into a binary search tree).
  • Create a diagram or animation that illustrates the steps involved in the operation.
  • Add annotations to explain each step.
  • Share your visualization with others and solicit feedback.
Implement Data Structures from Scratch
Reinforce your understanding of data structures by implementing them from scratch without relying on built-in Python libraries.
Show steps
  • Choose a data structure (e.g., Stack, Queue, Linked List).
  • Implement the core operations of the data structure.
  • Write unit tests to verify the correctness of your implementation.
  • Compare your implementation with the course's implementation.
Build a Simple Application Using Data Structures
Apply your knowledge of data structures by building a simple application that utilizes them.
Show steps
  • Choose a simple application (e.g., a task manager, a simple calculator, or a basic search engine).
  • Identify the data structures that would be most suitable for the application.
  • Implement the application using the chosen data structures.
  • Test the application thoroughly.
Contribute to a Python Data Structures Library
Deepen your understanding of data structures by contributing to an open-source Python library that implements them.
Show steps
  • Find an open-source Python data structures library on GitHub.
  • Identify a bug or a missing feature.
  • Implement the fix or the new feature.
  • Submit a pull request with your changes.

Career center

Learners who complete Python Data Structures A to Z will develop knowledge and skills that may be useful to these careers:

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python Data Structures A to Z.
Provides a comprehensive introduction to data structures and algorithms, with a focus on Python implementations. It covers a wide range of topics, including those discussed in the course, such as lists, trees, graphs, and heaps. It's suitable as a textbook or a reference for students and professionals alike, offering detailed explanations and code examples.
Grokking Algorithms visually engaging and easy-to-understand guide to algorithms and data structures. While not exclusively focused on Python, it uses Python-like pseudocode to illustrate concepts, making it accessible to beginners. It's particularly helpful for grasping the fundamental principles behind data structures before diving into Python-specific implementations.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser