VOOZH about

URL: https://www.coursera.org/learn/packt-data-structures-using-python-2024-aae1w

⇱ Data Structures Using Python - An Introduction | Coursera


Data Structures Using Python - An Introduction

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Data Structures Using Python - An Introduction

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Efficiently implement and manipulate arrays, linked lists, stacks, and queues in Python.

  • Develop recursive algorithms and work with binary trees and their traversals.

  • Analyze and solve graph-based problems using adjacency matrices and lists.

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

10 assignments

Taught in English

There are 9 modules in this course

Updated in May 2025.

This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This course will help you master essential data structures in Python, enabling you to write efficient code, optimize memory, and solve complex problems. By the end, you’ll be proficient in implementing arrays, linked lists, stacks, queues, trees, and graphs, along with recursion, searching, and sorting techniques. You’ll start with fundamental data structures like arrays, lists, tuples, sets, and dictionaries, learning operations such as insertion, deletion, and searching. Next, you’ll explore dynamic structures like linked lists, stacks, and queues, followed by recursion for problem-solving. The course then covers hierarchical structures like binary trees and binary search trees, focusing on traversal and search optimization. Finally, you’ll dive into graphs, learning representation techniques for network-based data structures. Ideal for students and aspiring developers, this course strengthens problem-solving skills. A basic understanding of Python is recommended as the course progresses from fundamentals to advanced topics.

In this module, we will explore the fundamentals of arrays, including their creation, manipulation, and applications. Starting with 1D arrays, we will cover essential operations such as searching, insertion, deletion, and updating. Then, we will progress to 2D arrays, learning how to access, insert, delete, and update elements, equipping you with the skills to handle data in Python effectively.

What's included

11 videos1 reading

11 videosβ€’Total 21 minutes
  • Definitionβ€’2 minutes
  • Creating and Displaying 1D Arraysβ€’2 minutes
  • Accessing 1D Arraysβ€’2 minutes
  • Searching in 1D Arraysβ€’1 minute
  • Insertion in 1D Arraysβ€’2 minutes
  • Deletion in 1D Arraysβ€’2 minutes
  • Updating in 1D Arraysβ€’2 minutes
  • Accessing 2D Arraysβ€’2 minutes
  • Insertion Operation in 2D Arraysβ€’3 minutes
  • Deletion Operation in 2D Arraysβ€’2 minutes
  • Update Operation in 2D Arraysβ€’2 minutes
1 readingβ€’Total 10 minutes
  • Full Course Resourcesβ€’10 minutes

In this module, we will dive into Python's versatile data structures: lists, tuples, sets, and dictionaries. You will learn to perform operations like accessing, modifying, and extending lists, as well as unpacking tuples and managing dictionary key-value pairs. This section also introduces set operations, preparing you for efficient data storage and retrieval techniques.

What's included

24 videos1 assignment

24 videosβ€’Total 112 minutes
  • Accessing Elements & Searching Element in a Listβ€’10 minutes
  • Working with Operators on Listsβ€’4 minutes
  • Indexing and Slicing in Listsβ€’9 minutes
  • Working with List Methodsβ€’3 minutes
  • Append()β€’4 minutes
  • Clear()β€’1 minute
  • count()β€’2 minutes
  • extend()β€’1 minute
  • index()β€’1 minute
  • insert()β€’1 minute
  • pop()β€’2 minutes
  • remove()β€’1 minute
  • reverse()β€’1 minute
  • sort()β€’1 minute
  • List Comprehensionβ€’4 minutes
  • Finding Maximum and Minimum Element in a Listβ€’5 minutes
  • Tuplesβ€’3 minutes
  • Tuple Indexing and Slicingβ€’18 minutes
  • Manipulating Tuplesβ€’5 minutes
  • Unpacking Tuplesβ€’1 minute
  • Basics of Dictionaryβ€’20 minutes
  • Accessing dictionary elementsβ€’7 minutes
  • Working with dictionaryβ€’4 minutes
  • Understanding Sets in Pythonβ€’4 minutes
1 assignmentβ€’Total 15 minutes
  • Lists, Tuples, Sets, and Dictionaries in Python - Assessmentβ€’15 minutes

In this module, we will cover the essentials of recursion, starting with function basics and progressively building towards recursive solutions. You will learn how to design, implement, and debug recursive algorithms, gaining insights into their utility in solving problems like factorial computation and tree traversal.

What's included

5 videos1 assignment

5 videosβ€’Total 25 minutes
  • Functions in Pythonβ€’4 minutes
  • Example Program1 on Functionsβ€’6 minutes
  • Example Program2 on Functionsβ€’3 minutes
  • Example Program3 on Functionsβ€’5 minutes
  • Recursionβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Recursion - Assessmentβ€’15 minutes

In this module, we will delve into linked lists, a dynamic data structure suited for efficient memory usage. You will learn to perform operations such as insertion, deletion, and searching, along with advanced techniques like identifying the middle element and comparing linked lists. This module concludes with memory management techniques like deleting a linked list.

What's included

7 videos1 assignment

7 videosβ€’Total 60 minutes
  • Basics of Linked Listsβ€’15 minutes
  • Inserting an Element in a Linked Listβ€’8 minutes
  • Searching an Element in a Linked Listβ€’5 minutes
  • Finding Middle Element in a Linked Listβ€’6 minutes
  • Checking Whether Two Given Linked Lists are Identical or Notβ€’7 minutes
  • Finding Maximum Value in a Linked Listβ€’13 minutes
  • Deleting the Linked Listβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Linked Lists - Assessmentβ€’15 minutes

In this module, we will explore stacks, a fundamental data structure. You will learn various implementation methods using Python's list, collections, and queue modules. Additionally, you will apply stack operations to solve problems such as ensuring balanced parentheses, preparing you for practical programming challenges.

What's included

8 videos1 assignment

8 videosβ€’Total 68 minutes
  • Understanding Stacksβ€’8 minutes
  • Implementing Stacks in Pythonβ€’14 minutes
  • Implementing Stacks Using Lists with Built-in Methods in Pythonβ€’3 minutes
  • Implementing Stacks Using Collections-dequeue in Pythonβ€’4 minutes
  • Implementing Stacks Using Queue-LifoQueue in Pythonβ€’8 minutes
  • Linked List Implementation of Stacks in Pythonβ€’15 minutes
  • Stack Application: Balanced Parenthesisβ€’6 minutes
  • Using Stacks for Checking Balanced Parenthesisβ€’10 minutes
1 assignmentβ€’Total 15 minutes
  • Stacks - Assessmentβ€’15 minutes

In this module, we will study queues and their variants, including circular queues. You will learn how to implement queue operations using Python's built-in methods and modules. The focus will also include optimizing space and time complexities for sequential data management.

What's included

6 videos1 assignment

6 videosβ€’Total 48 minutes
  • Understanding Queuesβ€’17 minutes
  • Implementing Queues Using Lists with Built-in Methods in Pythonβ€’4 minutes
  • Implementing Queues Using Collections-dequeue in Pythonβ€’4 minutes
  • Implementing Queues Using Queue Module in Pythonβ€’5 minutes
  • Implementing Queues Using LinkedListsβ€’11 minutes
  • Circular Queuesβ€’7 minutes
1 assignmentβ€’Total 15 minutes
  • Queues - Assessmentβ€’15 minutes

In this module, we will explore tree structures, starting with basic terminology and progressing to binary trees. You will learn traversal techniques and implement operations to compute height and sum elements. This module lays the groundwork for understanding hierarchical data organization.

What's included

9 videos1 assignment

9 videosβ€’Total 41 minutes
  • Tree Terminologyβ€’3 minutes
  • Defining Binary Tree and Complete Binary Treeβ€’2 minutes
  • Representation of a Binary Treeβ€’10 minutes
  • Binary Tree Traversalsβ€’7 minutes
  • How to Implement Inorder Traversal in Python?β€’3 minutes
  • How to Implement Pre-order Traversal in Python?β€’3 minutes
  • How to Implement Post-order Traversal in Python?β€’3 minutes
  • How to Implement Height of a Binary Tree in Python?β€’3 minutes
  • Sum of Elements in a Binary Treeβ€’8 minutes
1 assignmentβ€’Total 15 minutes
  • Trees - Assessmentβ€’15 minutes

In this module, we will focus on binary search trees, a specialized tree structure optimized for searching and data organization. You will learn how to create, search, and insert nodes into a BST, preparing you for applications that require fast and ordered data handling.

What's included

4 videos1 assignment

4 videosβ€’Total 15 minutes
  • Definition of BST with Exampleβ€’4 minutes
  • Search Operation in BSTβ€’4 minutes
  • Inserting a Node in BSTβ€’4 minutes
  • Creating a BSTβ€’3 minutes
1 assignmentβ€’Total 15 minutes
  • Binary Search Trees - Assessmentβ€’15 minutes

In this module, we will introduce graphs, one of the most versatile data structures in computer science. You will learn to represent graphs using adjacency matrices and lists, equipping you with the tools to understand and implement graph-based algorithms for real-world problems.

What's included

3 videos3 assignments

3 videosβ€’Total 13 minutes
  • Basics of Graphsβ€’3 minutes
  • Adjacency Matrix Representationβ€’7 minutes
  • Adjacency List Representationβ€’3 minutes
3 assignmentsβ€’Total 90 minutes
  • Graphs - Assessmentβ€’15 minutes
  • Full Course Assessmentβ€’60 minutes
  • Full Course Practice Assessmentβ€’15 minutes

Instructor

Packt
1,926 Coursesβ€’558,431 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.

If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.

Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.

If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.

This course is currently available only to learners who have paid or received financial aid, when available.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,