Graphs are Amazing!
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.