Bellman Ford Algorithm using c++
by ujjal roy
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,i,j;
cout<<"Enter number of node and edges : ";
cin>>n>>m;
vector<vector<int>>adj;
for(i=0;i<m;i++)
{ int u,v,w;
cout<<"Enter source destination weight : ";
cin>>u>>v>>w;
adj.push_back({u,v,w});
}
cout<<"Enter source : ";
int src;
cin>>src;
int dis[n+1];
for(i=0;i<=n;i++)dis[i]=1000000;
dis[src]=0;
for(i=0;i<n-1;i++)
{
for(j=0;j<m;j++)
{
int u,v,w;
u=adj[j][0];
v=adj[j][1];
w=adj[j][2];
if(dis[u]!=1000000&&dis[u]+w<dis[v])
{
dis[v]=dis[u]+w;
}
}
}
for(i=0;i<n;i++)
{
cout<<dis[i]<<" ";
}
cout<<endl;
return 0;
}
0 Comments