Open In App

Shortest Path Algorithm in Computer Network

In between sending and receiving data packets from the sender to the receiver, it will go through many routers and subnets. So as a part of increasing the efficiency in routing the data packets and decreasing the traffic, we must find the shortest path. In this article, we are discussing the shortest path algorithms.

What is Shortest Path Routing?

It refers to the algorithms that help to find the shortest path between a sender and receiver for routing the data packets through the network in terms of shortest distance, minimum cost, and minimum time.



Common Shortest Path Algorithms

Dijkstra’s Algorithm

The Dijkstra’s Algorithm is a greedy algorithm that is used to find the minimum distance between a node and all other nodes in a given graph. Here we can consider node as a router and graph as a network. It uses weight of edge .ie, distance between the nodes to find a minimum distance route.

Algorithm:

1: Mark the source node current distance as 0 and all others as infinity.



2: Set the node with the smallest current distance among the non-visited nodes as the current node.

3: For each neighbor, N, of the current node:

4: Make the current node as visited node.

5: If we find any unvisited node, go to step 2 to find the next node which has the smallest current distance and continue this process.

Example:

Consider the graph G:

Graph G

Now,we will start normalising graph one by one starting from node 0.

step 1

Nearest neighbour of 0 are 2 and 1 so we will normalize them first .

step 3

Similarly we will normalize other node considering it should not form a cycle and will keep track in visited nodes.

step 5

Bellman Ford’s Algorithm

The Bell man Ford’s algorithm is a single source graph search algorithm which help us to find the shortest path between a source vertex and any other vertex in a give graph. We can use it in both weighted and unweighted graphs. This algorithm is slower than Dijkstra’s algorithm and it can also use negative edge weight.

Algorithm

1: First we Initialize all vertices v in a distance array dist[] as INFINITY.

2: Then we pick a random vertex as vertex 0 and assign dist[0] =0.

3: Then iteratively update the minimum distance to each node (dist[v]) by comparing it with the sum of the distance from the source node (dist[u]) and the edge weight (weight) N-1 times.

4: To identify the presence of negative edge cycles, with the help of following cases do one more round of edge relaxation.

Example: Bellman ford detecting negative edge cycle in a graph.

Consider the Graph G:

Graph G

Step 1:

Step 2:

Step 3:

Step 4:

Step 5:

Outcome: The graph contains a negative cycle in the path from node D to node F and then to node E.

Floyd Warshall’s Algorithm

The Floyd Warshall’s Algorithm is used to find the shortest path between any two nodes in a given graph. It keeps a matrix of distances between each pair of vertices.it will continue iterating the matrix until it reaches at a shortest path.

Algorithm:

1: Using the data about the graph, make a matrix.

2: By taking all vertices as an intermediate vertex, we have to update the final matrix.

3: It is to be noted that it includes at a time we pick one vertex, and we update the shortest path which includes this chosen vertex as an in-between point along the path.

4: When we select a vertex say k almost like the middle of the path, in previous calculations we have already taken all vertices P{0,1,2..,k-1} as potential middle points.

5: We have to consider the following subpoints while dealing with the source and destination vertices I,j respectively

Example: Consider the given graph G,

Graph G

Step 1:

Step 2:

Step 3:

Step 4:

Step 5:

Step 6:

Step 7:

Shortest Path Algorithm in Computer Network – FAQs

What is Shortest Path Routing?

Shortest route In a network, routing is the process of using algorithms to determine the best path between a sender and a recipient while taking time, cost, and distance into account. To optimise data packet transmission in a network with numerous routers and subnets, this is essential.

What parameters are commonly used to measure distance in Shortest Path Routing?

When calculating distance, factors like the number of routers traversed, the geographic distance (in kilometres, for example), and other metrics like bandwidth, average traffic, communication cost, measured delay, and mean queue length can all be taken into account.


Article Tags :