C++ Graph Theory Sample Cheat Sheet: by Via
C++ Graph Theory Sample Cheat Sheet: by Via
path through node k, take it! Used to Construct MST from Graph
dist[i][j] = min(di‐
st[i][j], dist[i][k]+dist[k]‐
[j]);w
Lowest Common Ancestor of Tree Breadth First Search (cont) Union Find Data Structure
Kruskal's Algorithm for MST Depth First Search (cont) Dijkstra's Algorithm (cont)
if (p[i.first][0] == -1){ }
//cout<<i.first<<"<-"
<<x<<endl;
p[i.first][0] = x;
depth[i.first] =
depth[x]+1;
}
dfs(i.first);
}
}
}
void calc_k_parents(ll N){
for (ll k=1;k<K;k++){
for (ll i=0;i<N;i++){
if (p[i][k-1] != -1){
p[i][k]= p[p[i][k-‐
1]][k-1];
}else{p[i][k]=-1;}
// if (k==2)cout<<i<<","
<<k<<":"<<p[i][k-1]<<","<<p[p[i][k-
1]][k-1]<<","<<p[i][k]<<endl;
}
}
}
ll find_parent(ll x,ll k){
for (ll i=K;i>=0;i--){
if (k>= (1<<i)){
if (x==-1)return -1;
x=p[x][i];
k-=1<<i;
}
}
return x;