标签:dfs bfs
深度优先搜索 (Depth First Search, DFS):
void DFS ( Vertex V )
{ visited[ V ] = true;
for ( V 点 的每个邻接点 W )
if ( !visited[ W ] )
DFS( W );
}
若有N 个顶点、E 条边,时间复杂度是
用邻接表存储图,有O(N+E)
用邻接矩阵存储图,有O(N 2 )
广度优先搜索 (Breadth First Search, BFS)
void BFS ( Vertex V )
{ visited[V] = true;
Enqueue(V, Q);
while(!IsEmpty(Q)){
V = Dequeue(Q);
for ( V 点 的每个邻接点 W )
if ( !visited[W] ) {
visited[W] = true;
Enqueue(W, Q);
}
}
}
若有N 个顶点、E 条边,时间复杂度是
用邻接表存储图,有O(N+E)
用邻接矩阵存储图,有O(N 2 )
标签:dfs bfs
原文地址:http://zhenzhuangde.blog.51cto.com/10697385/1695098