Intermediate Algorithms: Graphs, Trees, and Backtracking

External: Coursera Courses ↗ · Coursera

Open Course on External: Coursera

Free to audit · Opens on External: Coursera

Intermediate Algorithms: Graphs, Trees, and Backtracking

Coursera · Beginner ·⚡ Algorithms & Data Structures ·5mo ago

Key Takeaways

Applies depth-first and breadth-first search algorithms to graphs, trees, and backtracking problems

Original Description

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.
AI explanation not available for this lesson yet
This lesson is still being prepared for the AI tutor. In the meantime, explore lessons that are ready.
Browse explainer-ready lessons →

Related Reads

📰
Trapping Rain Water: Understanding Data Structure Choices from a Beginner’s Perspective
Learn to solve the Trapping Rain Water problem by understanding optimal data structure choices and array traversal techniques
Medium · Programming
📰
The Grid Problem That Looks Easy Until You Need the Lexicographically Smallest Path
Learn to find the lexicographically smallest path in a grid, a problem that seems easy but requires careful consideration of path construction and comparison
Medium · Programming
📰
The Algorithm That’s Practically O(1) — But Provably Isn’t
Learn about an algorithm that behaves like O(1) but isn't, and how to analyze its complexity
Medium · Programming
📰
Knight Attack Made BFS Feel Like a Recipe, Not a Template
Learn how to apply BFS to solve the Knight Attack problem with a Python solution
Medium · Python
Up next
Quant Interview Question #quant
quantprof
Watch →