diff --git a/C++/Dijkstra-Algorithm.cpp b/C++/Dijkstra-Algorithm.cpp new file mode 100644 index 00000000..25d36588 --- /dev/null +++ b/C++/Dijkstra-Algorithm.cpp @@ -0,0 +1,55 @@ +// Github username: ankitsri98 +// Aim: Shortest distance between 2 nodes +// Date: 07/10/2022 + +// start coding + +#include +using namespace std; +#define ll long long int +#define pb push_back +typedef pair pi; +vector > adj[20]; +int dist[20]; +void bfs(int x,int n) //0-1 bfs concept of dijktra's algo. +{ + priority_queue > pq; + pq.push(make_pair(0,x)); + dist[x]=0; + while(!pq.empty()) + { + int m=pq.top().second; + //cout<< m <<" "; + pq.pop(); + for(int j=0;j "< dist[m] + adj[m][j].second ) + { + dist[adj[m][j].first] = dist[m] + adj[m][j].second ; + // cout<<"entered "< "<>n>>e; //entering no. of node and edges + for(int i=1;i<=e;i++) + { + cin>>x>>y>>z; //x-->y edges connection...corresponding z weight + adj[x].push_back(make_pair(y,z)); //undirected graph + adj[y].push_back(make_pair(y,z)); + } + for(int i=0;i