Intermediate Algorithms: Graphs, Trees, and Backtracking

Coursera MOOC / Non-credit USD 49
Enroll now →
Intermediate Algorithms: Graphs, Trees, and Backtracking

About this course

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. Unlock the power of advanced algorithms with a focus on graphs, trees, and backtracking. Through this course, you will learn how to apply depth-first and breadth-first search techniques to solve problems in trees and graphs. From the basics of binary trees to complex graph traversals and backtracking algorithms, this course provides an in-depth exploration of key data structures and techniques used to solve real-world algorithmic challenges. The course kicks off with the essential concepts of binary trees, including traversal techniques like DFS and BFS. You'll work through problems like inverting a binary tree, calculating its maximum depth, and validating whether a binary tree is a binary search tree. As you progress, you’ll explore backtracking algorithms for solving problems such as the Combination Sum and Word Search, and dive into more advanced data structures like Tries to solve complex string-searching problems. Later in the course, you’ll tackle graphs and how to work with algorithms like Union-Find to determine connected components or verify the validity of a graph. You’ll also explore how to solve real-world problems such as Pacific Atlantic water flow, course schedules, and alien dictionaries through graph traversal techniques. This course is designed for learners with a basic understanding of data structures and algorithms who want to delve deeper into intermediate concepts. It’s perfect for anyone preparing for technical interviews or looking to expand their algorithmic problem-solving toolkit. By the end of the course, you will be able to solve complex graph and tree problems, apply backtracking techniques, and efficiently use advanced data structures like Tries and Heaps in real-world scenarios.

What you'll learn

  • Apply depth-first search and breadth-first search to solve tree and graph problems
  • Implement backtracking algorithms for combinatorial problems like Combination Sum and Word Search
  • Use Tries for efficient string searching and prefix-based operations
  • Solve graph problems using Union-Find for connected components
  • Validate binary search trees and perform common tree operations like inversion and depth calculation
  • Apply graph traversal techniques to solve scheduling and topological sorting problems

Course objectives

  • Master traversal techniques for binary trees including DFS and BFS
  • Develop proficiency in backtracking algorithms for constraint satisfaction problems
  • Learn to work with advanced data structures including Tries and Heaps
  • Solve real-world algorithmic challenges involving graphs and trees
  • Build skills for technical interview preparation

Skills you'll gain

Related courses

Course details are provided by the platform and may change — always confirm on the provider's site. Links may be affiliate links.