Graph Search, Shortest Paths, and Data Structures

  • 4.8
Approx. 15 hours to complete

Course Summary

This course covers algorithms, graph theory, and data structures in-depth to help students understand how to design and analyze efficient algorithms. Students will also learn how to solve real-world problems using these tools.

Key Learning Points

  • Learn how to design and analyze algorithms
  • Understand graph theory and its applications
  • Master data structures and their use in solving problems

Job Positions & Salaries of people who have taken this course might have

    • USA: $87,000 - $154,000
    • India: ₹6,00,000 - ₹20,00,000
    • Spain: €30,000 - €50,000
    • USA: $87,000 - $154,000
    • India: ₹6,00,000 - ₹20,00,000
    • Spain: €30,000 - €50,000

    • USA: $95,000 - $180,000
    • India: ₹7,00,000 - ₹25,00,000
    • Spain: €35,000 - €55,000
    • USA: $87,000 - $154,000
    • India: ₹6,00,000 - ₹20,00,000
    • Spain: €30,000 - €50,000

    • USA: $95,000 - $180,000
    • India: ₹7,00,000 - ₹25,00,000
    • Spain: €35,000 - €55,000

    • USA: $90,000 - $150,000
    • India: ₹6,00,000 - ₹20,00,000
    • Spain: €35,000 - €50,000

Related Topics for further study


Learning Outcomes

  • Design and analyze efficient algorithms
  • Apply graph theory to real-world problems
  • Implement data structures in solving problems

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge
  • Mathematics fundamentals

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced
  • Video lectures
  • Assignments and quizzes

Similar Courses

  • Algorithms, Part I
  • Data Structures and Algorithms
  • Graph Analytics for Big Data

Related Education Paths


Notable People in This Field

  • Computer Scientist and Mathematician

Related Books

Description

The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social network analysis).

Outline

  • Week 1
  • Graph Search - Overview
  • Breadth-First Search (BFS): The Basics
  • BFS and Shortest Paths
  • BFS and Undirected Connectivity
  • Depth-First Search (DFS): The Basics
  • Topological Sort
  • Computing Strong Components: The Algorithm
  • Computing Strong Components: The Analysis
  • Structure of the Web [Optional]
  • Week 1 Overview
  • Overview, Resources, and Policies
  • Lecture slides
  • Optional Theory Problems (Week 1)
  • Problem Set #1
  • Programming Assignment #1
  • Week 2
  • Dijkstra's Shortest-Path Algorithm
  • Dijkstra's Algorithm: Examples
  • Correctness of Dijkstra's Algorithm
  • Dijkstra's Algorithm: Implementation and Running Time
  • Week 2 Overview
  • Optional Theory Problems (Week 2)
  • Problem Set #2
  • Programming Assignment #2
  • Week 3
  • Data Structures: Overview
  • Heaps: Operations and Applications
  • Heaps: Implementation Details [Advanced - Optional]
  • Balanced Search Trees: Operations and Applications
  • Binary Search Tree Basics, Part I
  • Binary Search Tree Basics, Part II
  • Red-Black Trees
  • Rotations [Advanced - Optional]
  • Insertion in a Red-Black Tree [Advanced]
  • Week 3 Overview
  • Problem Set #3
  • Programming Assignment #3
  • Week 4
  • Hash Tables: Operations and Applications
  • Hash Tables: Implementation Details, Part I
  • Hash Tables: Implementation Details, Part II
  • Pathological Data Sets and Universal Hashing Motivation
  • Universal Hashing: Definition and Example [Advanced - Optional]
  • Universal Hashing: Analysis of Chaining [Advanced - Optional]
  • Hash Table Performance with Open Addressing [Advanced - Optional]
  • Bloom Filters: The Basics
  • Bloom Filters: Heuristic Analysis
  • Week 4 Overview
  • Optional Theory Problems (Week 4)
  • Info and FAQ for final exam
  • Problem Set #4
  • Programming Assignment #4
  • Final Exam

Summary of User Reviews

Explore algorithms, graphs, and data structures in this comprehensive Coursera course. Users have praised the depth and clarity of the course content, which covers a broad range of topics in a natural and engaging way.

Key Aspect Users Liked About This Course

The course content is comprehensive and engaging, covering a wide range of topics in a clear and accessible way.

Pros from User Reviews

  • Well-structured and easy to follow
  • Engaging and challenging assignments
  • In-depth coverage of important topics
  • High-quality video lectures
  • Great community support and discussion forums

Cons from User Reviews

  • Some of the assignments are quite challenging and time-consuming
  • The pace may be too slow for advanced learners
  • The course may be too technical for beginners
  • Some users have reported technical issues with the platform
  • The course may require a significant time commitment
English
Available now
Approx. 15 hours to complete
Tim Roughgarden
Stanford University
Coursera

Instructor

Tim Roughgarden

  • 4.8 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses