Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Intermediate Data Structures & Algorithmic Patterns

Packt via Coursera

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
This course 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. In this course, you will dive deep into advanced data structures and algorithmic patterns to improve your problem-solving abilities. Through practical examples, you'll gain a strong foundation in complex concepts like stacks, queues, binary search, and binary trees. The course covers various techniques and strategies to optimize your code and tackle problems more efficiently. As you progress, you will engage with real-world coding problems on platforms like Leetcode, solving challenges related to arrays, trees, and binary search. You’ll explore algorithms such as the sliding window method, two-pointer approach, and binary search over both sorted arrays and ranges. With the aid of Python, you’ll implement key data structures and refine your skills through hands-on practice. This course is ideal for learners who want to elevate their understanding of data structures and algorithms and become more proficient in solving algorithmic problems. The material is structured to gradually build your knowledge, providing both theoretical insights and practical coding experience. By the end of the course, you will be able to confidently apply advanced algorithms and data structures to solve complex problems efficiently, implement binary search and tree traversal techniques, and use stacks and queues in real-world applications.

Syllabus

  • Stacks Theory + Practice Problems
    • In this module, we will introduce the concept of stacks and demonstrate their real-world applications. You will learn to implement stack operations in Python and solve practice problems such as valid parentheses, Reverse Polish Notation, and finding the minimum element in a stack.
  • Queue
    • In this module, we will explore the concept of queues and their implementation in Python. You’ll learn how to use the deque data structure for efficient queue operations like enqueue and dequeue, providing insights into real-world applications.
  • Array Pattern #1 - Sliding Window Method Theory + Practice Problems
    • In this module, we will cover the sliding window method and solve common array problems such as the longest substring without repeating characters. Additionally, we will implement the sliding window maximum problem using Python.
  • Array Pattern #2 - Two Pointer Method Theory + Practice Problems
    • In this module, we will delve into the two-pointer technique and apply it to problems like the "Two Sum II" and Trapping Rain Water problems. You’ll see how this method can optimize solutions for array manipulation tasks.
  • Array Pattern #3 - Math & Geometry Practice Problems
    • In this module, we will explore the use of math and geometry in array problem-solving. You will tackle problems like setting matrix zeroes and traversing matrices in a spiral order using Python.
  • Binary Search
    • In this module, we will introduce binary search and its application on sorted arrays. You will learn how to implement binary search and understand its significance in terms of time complexity.
  • Binary Search Pattern #1 - Binary Search Over Sorted Arrays
    • In this module, we will apply binary search to sorted arrays and practice solving problems such as finding the first and last position of an element. You'll also tackle challenges like searching in a rotated sorted array using Python.
  • Binary Search Pattern #2 - Binary Search Over Range
    • In this module, we will explore binary search applications over ranges, focusing on problems like minimizing eating speed for Koko and maximizing the magnetic force between two balls. You’ll learn how to apply binary search to optimize such problems.
  • Binary Trees
    • In this module, we will cover the fundamentals of binary trees, including traversal techniques like pre-order, in-order, and post-order. You’ll also tackle problems like checking tree symmetry, finding the maximum depth, and identifying subtrees within trees.

Taught by

Packt - Course Instructors

Reviews

Start your review of Intermediate Data Structures & Algorithmic Patterns

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.