breadth-first-search - 基于BFS的Tarjan算法
问题描述
我有一个实现的 BFS 算法,我想使用我的 BFS(用颜色和时间方法实现)找到带有 Tarjan 算法的 SCC。这是代码:///////////////////////////////////// ///////////////
void dfs_visit_color(int v, Graf *G, int *time)
{
time++;
G->d[v] = *time;
G->color[v] = GRI;
NodeT *p = G->t[v];
int w;
printf("%d ", v);
while (p != NULL)
{
w = p->val;
if (G->color[w] == ALB)
{
T[w] = v;
dfs_visit_color(w, G, time);
}
p = p->next;
}
G->color[v] = NEGRU;
time++;
G->f[v] = *time;
}
void dfs_color(Graf *G){
int time = 0, i;
for (i = 0; i < G->n; i++)
{
if (G->color[i] = ALB);
}
for (i = 0; i < G->n; i++)
{
if (G->color[i] == ALB)
{
dfs_visit_color(i, G, &time);
}
}
}
解决方案
推荐阅读
- javascript - 停止移动鼠标时JavaScript mousemove不起作用
- bash - 通过 curl URL 传递变量
- java - 蛇与自身相撞的问题(蛇游戏)
- javascript - d3条形图-如何自动更改值的字体大小以使其适合条形
- reactjs - 如何使用 react 和 typescript 根据所选选项列出数据?
- google-drive-api - 如何在 Mac 上配置谷歌备份和同步以将照片上传到谷歌云?
- pyqt - 为什么中央小部件(QWidget)从另一个文件导入时没有正确调整大小?
- sql - 使用多个表的 MS Access SQL UPDATE
- java - Java.util.NoSuchElementException 类分配错误
- c - 在 Windows 上以编程方式对文件进行碎片整理