mirror of
https://github.com/Hizenberg469/Algorithms-snippets.git
synced 2026-04-19 22:52:23 +03:00
Graph, Number Theory, String Hashing Algo added
This commit is contained in:
19
Graph Algorithm/Bellmann_Ford.cpp
Normal file
19
Graph Algorithm/Bellmann_Ford.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
vector<int> dist(n+1,(int)-1e17);
|
||||
|
||||
dist[1]=0;
|
||||
|
||||
for(int i = 1 ; i < n ; i++ ){
|
||||
for(auto& e : g ){
|
||||
int a,b,w;
|
||||
tie(a,b,w)=e;
|
||||
dist[b]=max(dist[b],dist[a]+w);
|
||||
}
|
||||
}
|
||||
|
||||
for(auto& e : g ){
|
||||
int a,b,w;
|
||||
tie(a,b,w)=e;
|
||||
if( dist[b] < dist[a] + w ){
|
||||
cycle[b]=true;
|
||||
}
|
||||
}
|
||||
7
Graph Algorithm/Flloyd_Warshall.cpp
Normal file
7
Graph Algorithm/Flloyd_Warshall.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
for(int k = 1 ; k <= n ; k++ ){
|
||||
for(int i = 1 ; i <= n ; i++ ){
|
||||
for(int j = 1 ; j <= n ; j++ ){
|
||||
dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
17
Graph Algorithm/dijikstra.cpp
Normal file
17
Graph Algorithm/dijikstra.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
priority_queue<pii> q;
|
||||
q.push({0,1});
|
||||
dist[1]=0;
|
||||
while(!q.empty()){
|
||||
pii n=q.top();q.pop();
|
||||
int weight=n.F,node=n.S;
|
||||
|
||||
if( vis[node] )continue;
|
||||
vis[node]=true;
|
||||
for(pii& nbr : g[node]){
|
||||
int n_nbr=nbr.F,n_w=nbr.S;
|
||||
if( dist[node]+n_w<dist[n_nbr] ){
|
||||
dist[n_nbr]=dist[node]+n_w;
|
||||
q.push({-dist[n_nbr],n_nbr});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user