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

Coursera

Advanced Data Structures, Patterns, and Recursion Techniques

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'll dive into advanced data structures and algorithms that are essential for solving complex problems. From sliding window techniques to binary search, you'll gain deep insights into optimized methods for problem-solving. By focusing on patterns such as two pointers, recursion, and backtracking, you will build a solid foundation for tackling a wide range of coding challenges. As you progress, you will learn how to implement these techniques efficiently and effectively, ensuring that your problem-solving skills are sharpened for real-world applications. The course is structured around various problem-solving methods. It starts with array patterns like the sliding window and two-pointer techniques, followed by binary search applications over rotated arrays and ranges. The course wraps up with recursion and backtracking, utilizing Leetcode problems to solidify your understanding. You will be guided through each topic with video tutorials and practical exercises that reinforce the key concepts. This course is ideal for individuals who are familiar with basic data structures and algorithms and are looking to elevate their coding abilities. It's perfect for anyone preparing for technical interviews or aiming to deepen their knowledge of algorithmic problem-solving. With an intermediate difficulty level, the course requires familiarity with Java and basic algorithmic concepts. By the end of the course, you will be able to implement advanced data structures and algorithms to solve complex problems, optimize solutions using common techniques, and apply recursion and backtracking to solve challenging coding tasks efficiently.

Syllabus

  • Array Pattern #1 - Sliding Window Method + Practice Problems
    • In this module, we will explore the sliding window technique and its application in solving array-related challenges. You will gain hands-on experience with solving subarray problems, improving both efficiency and time complexity through the sliding window method. This section will help you master the technique for optimized problem-solving.
  • Array Pattern #2 - Two Pointer Method + Practice Problems
    • In this module, we will delve into the two-pointer method, a strategy that optimizes the solution of many array-based problems. You will practice solving problems like "Valid Palindrome" and more, leveraging two pointers for efficient solutions. This section is designed to boost your skills in solving challenging problems with optimal time complexity.
  • Array Pattern #3 - Math & Geometry
    • In this module, we will explore how mathematical and geometric principles can simplify array and matrix manipulation problems. You will tackle challenges like rotating matrices and setting rows and columns to zero, learning how to apply these methods in efficient algorithms. This section is designed to strengthen your problem-solving using math and geometry.
  • Array Pattern #4 - Intervals
    • In this module, we will cover interval-based problems that require sorting and merging techniques. You will solve real-world problems like inserting intervals and determining the minimum number of removals needed to make intervals non-overlapping. This section will help you master interval manipulation and enhance your algorithm efficiency.
  • Binary Search Theory
    • In this module, we will explore how binary search is applied to rotated sorted arrays, an advanced variation of traditional binary search. You will learn to efficiently find elements and solve related problems, such as determining the minimum element in a rotated array. This section will refine your binary search skills in more complex scenarios.
  • Binary Search Pattern #1 - Binary Search Over Rotated Sorted Arrays
    • In this module, we will explore how binary search is applied to rotated sorted arrays, an advanced variation of traditional binary search. You will learn to efficiently find elements and solve related problems, such as determining the minimum element in a rotated array. This section will refine your binary search skills in more complex scenarios.
  • Binary Search Pattern #2 - Binary Search Over Range
    • In this module, we will focus on using binary search to solve problems involving ranges and constraints. You will apply binary search to find optimal solutions in non-traditional search spaces, helping you become more versatile in solving range-based problems. This section aims to deepen your understanding of binary search in challenging real-world problems.
  • Recursion and Backtracking + Leetcode Practice Problems
    • In this module, we will explore recursion and backtracking techniques, essential for solving complex problems. You will practice solving real-world challenges like generating subsets, permutations, and solving the N-Queens problem using backtracking. This section is designed to sharpen your recursion and backtracking skills for more advanced algorithmic problem-solving.
  • Binary Trees Theory & Implementation
    • In this module, we will dive into binary tree theory, covering essential concepts such as tree structure, traversal methods, and the implementation of binary trees in Java. This section will provide the foundation for working with binary trees and understanding how they can be used to solve complex problems efficiently.
  • Binary Trees Practice Problems
    • In this module, you will work through a range of binary tree practice problems to deepen your understanding of tree-based algorithms. You will tackle challenges such as tree inversion, finding the diameter of a tree, and implementing level-order traversal, all while enhancing your problem-solving skills with binary trees.
  • Binary Search Tree Theory + Leetcode Practice Problems
    • In this module, we will focus on the theory and practice of binary search trees (BSTs). You will learn how to implement key operations such as insertion, deletion, and finding the LCA, along with solving related Leetcode problems. This section is designed to enhance your ability to solve problems that involve binary search trees efficiently.

Taught by

Packt - Course Instructors

Reviews

Start your review of Advanced Data Structures, Patterns, and Recursion Techniques

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.