Amazing Graph Algorithms : Coding in Java,JavaScript, Python

Graph Data Structure, DFS, BFS, Minimum Spanning Tree, Shortest Path, Network Flow, Strongly Connected Components

4.85 (34 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
858
students
9 hours
content
Oct 2023
last update
$69.99
regular price

What you will learn

Graph Algorithms

Programming Algorithms

Description


Graphs are Amazing!

We will have a lot to cover in this course also the course is coded in Java, JavaScript & Python.

While solving graph algorithms, We may need to visit and process each node present in the graph. And for that, we must know how to traverse the graphs efficiently,

So, first, we will cover graph traversal, where we gonna see the 2 types of graph traversals, Depth First Search, and Breadth-first Search.

Then we will understand Spanning Trees and will see famous algorithms to find minimum cost spanning tree, basically, a minimum cost spanning tree is a tree from the graph connecting all the vertices with single edges each and that all

Of the lowest cost, so to minimize the cost to connect all the vertices.

For example :

Suppose, you own a telecommunication company

and you have towers that spread across the state.

You want to connect them so that data can be passed from one tower to others.

Connecting different towers involve different costs, so the problem is how will you minimize the cost. Here, comes the need of using Minimum spanning tree algorithms to find

That tree connecting all the towers with edges that have a minimum cost, so that the spanning Tree cost is minimum.

After that, we will look to Shortest Path algorithms, these are useful to find the shortest distance from of a source from all the other vertices (called single-source shortest path)

or shortest distance of each vertex with all the

Other vertices, that's called finding all pair shortest path.

For example, finding the distance of a city, let's say Istambul to all the other famous cities of turkey.

Or let's say A person who is planning a trip may need to answer questions such as, “What is the least expensive way to get from Princeton to San Jose?” A person more interested in time than in money may need to know the answer to the question “What is the fastest way to get from Princeton to San Jose?” To answer such questions, we process information about connections (travel routes) between items (towns and cities).

Then we will move to Flow network problems. These are concerned with the networks or graph, having a flow going through it.

There will be problems that ask to maximize the flow across the network or problems that ask to disconnect the source from the destination or sink in minimum cost.

After that we will discuss, algorithms to find strongly connected components in a graph.

Hope you will enjoy the course.

Happy Learning

Content

Understanding Graphs

Graphs - In Real World
Google's Knowledge Graph
Graphs - Overview
Terminologies
Identification of Problem
Approaching the Problem
Journey : What We Are Going To Cover

Let's Get Started

Course Resources

Graph Traversal Algorithms

Graph Traversal
Depth First Search Traversal
DFS - Recursive Java Implementation
DFS - Iterative Java Implementation
DFS - Recursive Javascript Implementation
DFS - Iterative Javascript Implementation
DFS - Recursive Python Implementation
DFS - Complexity Analysis
Breadth First Search Traversal
BFS - Java Implementation
BFS - Javascript Implementation
BFS - Python Implementation
BFS - Complexity Analysis

Minimum Spanning Tree Algorithms

What Are Spanning Trees; What is MST?
Prim's Algorithm
Prim's Algorithm - Java Implementation
Prim's Algorithm - Javascript Implementation
Prim's Algorithm - Python Implementation
Kruskal's Algorithm
Union-Find Algorithm
Kruskal's Algorithm - java Implementation
Kruskal's Algorithm - Javascript Implementation
Kruskal's Algorithm - Python Implementation

Shortest Path Algorithms

Finding Shortest Path
Dijkstra's Algorithm
Dijkstra's Algorithm - Java Implementation
Dijkstra's Algorithm - Javascript Implementation
Dijkstra's Algorithm - Python Implementation
BellmanFord's Algo
BellmanFord's Algo Live Code Java
BellmanFord's Algo Live Code Javascript
BellmanFord's Algo Live Code Python
Floyd Warshall Algorithm
Floyd-Warshall Algorithm - Java Implementation
Floyd-Warshall Algorithm - Javascript Implementation
Floyd-Warshall Algorithm - Python Implementation
Johnson's Algorithm
Johnson's Algorithm - Java Implementation
Johnson's Algorithm - Javascript Implementation
Johnson's Algorithm - Python Implementation

Network Flow Algorithms

What Are Flow Networks?
Ford-Fulkerson Algorithm
Ford-Fulkerson Algorithm - Edmond's Karp Java Implementation
Ford-Fulkerson Algorithm - Edmond's Karp Javascript Implementation
Ford-Fulkerson Algorithm - Edmond's Karp Python Implementation
Max-Flow Min-Cut Theorem

Strongly Connected Components

Strongly Connected Components
Tarjan's Algorithm
Tarjan's Algorithm - Java Implementation
Tarjan's Algorithm - Javascript Implementation
Tarjan's Algorithm - Python Implementation
Kosaraju's Algorithm
Kosaraju's Algorithm - Java Implementation
Kosaraju's Algorithm - Javascript Implementation
Kosaraju's Algorithm - Python Implementation

Others

Topological Sort : Kahn's Algo
Topological Sort Live Code Java
Topological Sort Live Code Javascript
Topological Sort Live Code Python

Thank You

Thank you!

Screenshots

Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Screenshot_01Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Screenshot_02Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Screenshot_03Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Screenshot_04

Reviews

Conner
August 6, 2022
The author is breaking down every topic related to graph theory. The instructions are clear and easy to follow. I would recommend this series to others.
Prem
January 4, 2021
Really Amazing explanations of graph concepts. I believe, this is how graphs should be taught. It's what exactly i was looking for quite sometime and eventually i found this one.

Charts

Price

Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Price chart

Rating

Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Ratings chart

Enrollment distribution

Amazing Graph Algorithms : Coding in Java,JavaScript, Python - Distribution chart
3716576
udemy ID
12/20/2020
course created date
1/22/2021
course indexed date
Bot
course submited by