gpt4 book ai didi

c++ - 为我的图形数据结构实现 BFS 时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:03:03 25 4
gpt4 key购买 nike

这是我从头开始开发的图形数据结构的设计。现在要实现 BFS,我正在考虑使用 STL 的某些部分来减轻更多负担。 Here is

我正在使用 Cormen 书中的算法。对于算法的某些部分,例如color[u] , d​​istance[u] 等,我正在考虑使用 map 。但我无法决定是否我应该使用像 >> std::map<node<T>*, Node_struct_data_like_color_etc> 这样的 map 或者 std::map<data_type_which_node_contains, Node_struct_data_like_color_etc>

此外,上面的 map 必须适合算法的其他部分,例如 for(all_adjacent_vertex_v_of_u)等等

很抱歉,我的问题可能看起来含糊不清,但没有比这更好的解释了。

最佳答案

如果有帮助,我已经编写了这个简单的 bfs

//simple bfs assuming graph is of the form vecotr<int> g
int q[20000];
int vis[20000];

void bfs( int v_ )
{
int top = 0;
memset(vis, 0, sizeof(vis));
vis[v_] = 1;
q[top++]=v_;
while( top )
{
int v = q[--top];
for( vector<int>::iterator it = g[v].begin(); it!= g[v].end(); ++it )
{
int u = *it;
if( !vis[u] )
{
q[top++]=u;
vis[u] = 1;
}
}
}
}

关于c++ - 为我的图形数据结构实现 BFS 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7001489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com