University of California San Diego

Introduction to Graph Theory

Alexander S. Kulikov
Владимир Подольский

Instructors: Alexander S. Kulikov

53,992 already enrolled

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
4.5

(1,046 reviews)

Beginner level
No prior experience required
Flexible schedule
Approx. 20 hours
Learn at your own pace
88%
Most learners liked this course
Gain insight into a topic and learn the fundamentals.
4.5

(1,046 reviews)

Beginner level
No prior experience required
Flexible schedule
Approx. 20 hours
Learn at your own pace
88%
Most learners liked this course

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

30 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

Placeholder

Build your subject-matter expertise

This course is part of the Introduction to Discrete Mathematics for Computer Science Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 5 modules in this course

What are graphs? What do we need them for? This week we'll see that a graph is a simple pictorial way to represent almost any relations between objects. We'll see that we use graph applications daily! We'll learn what graphs are, when and how to use them, how to draw graphs, and we'll also see the most important graph classes. We start off with two interactive puzzles. While they may be hard, they demonstrate the power of graph theory very well! If you don't find these puzzles easy, please see the videos and reading materials after them.

What's included

14 videos6 readings5 assignments1 ungraded lab

We’ll consider connected components of a graph and how they can be used to implement a simple program for solving the Guarini puzzle and for proving optimality of a certain protocol. We’ll see how to find a valid ordering of a to-do list or project dependency graph. Finally, we’ll figure out the dramatic difference between seemingly similar Eulerian cycles and Hamiltonian cycles, and we’ll see how they are used in genome assembly!

What's included

12 videos4 readings7 assignments5 ungraded labs

This week we will study three main graph classes: trees, bipartite graphs, and planar graphs. We'll define minimum spanning trees, and then develop an algorithm which finds the cheapest way to connect arbitrary cities. We'll study matchings in bipartite graphs, and see when a set of jobs can be filled by applicants. We'll also learn what planar graphs are, and see when subway stations can be connected without intersections. Stay tuned for more interactive puzzles!

What's included

11 videos4 readings6 assignments2 ungraded labs

We'll focus on the graph parameters and related problems. First, we'll define graph colorings, and see why political maps can be colored in just four colors. Then we will see how cliques and independent sets are related in graphs. Using these notions, we'll prove Ramsey Theorem which states that in a large system, complete disorder is impossible! Finally, we'll study vertex covers, and learn how to find the minimum number of computers which control all network connections.

What's included

14 videos5 readings8 assignments1 ungraded lab

This week we'll develop an algorithm that finds the maximum amount of water which can be routed in a given water supply network. This algorithm is also used in practice for optimization of road traffic and airline scheduling. We'll see how flows in networks are related to matchings in bipartite graphs. We'll then develop an algorithm which finds stable matchings in bipartite graphs. This algorithm solves the problem of matching students with schools, doctors with hospitals, and organ donors with patients. By the end of this week, we'll implement an algorithm which won the Nobel Prize in Economics!

What's included

13 videos6 readings4 assignments

Instructors

Instructor ratings
4.3 (161 ratings)
Alexander S. Kulikov
University of California San Diego
13 Courses821,202 learners
Владимир Подольский
8 Courses223,574 learners

Offered by

Recommended if you're interested in Algorithms

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

4.5

1,046 reviews

  • 5 stars

    66.53%

  • 4 stars

    23.42%

  • 3 stars

    6.59%

  • 2 stars

    2.10%

  • 1 star

    1.33%

Showing 3 of 1046

MI
5

Reviewed on Oct 11, 2020

WL
4

Reviewed on Mar 9, 2019

AT
5

Reviewed on Nov 24, 2017

New to Algorithms? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions