我正在使用图表实施城际地图。由于它是无向的,我使用了一个上三角形邻接矩阵,使用了一个顶点矢量和Graph类中“指向边缘阵列的指针”的矢量。
我需要遍历这样的图表。顶点有信息,边缘被加权。
当我通过直接访问获得所有顶点和边缘信息时,为什么在这样的遍历中需要BFS或DFS?
答案 0 :(得分:0)
一般来说,如果:
您可以直接访问所有顶点(以顶点或类似列表的形式),
您不需要从BFS或DFS获取任何信息,例如哪些顶点可从某个顶点到达
然后,您可以直接遍历顶点列表,而无需使用BFS或DFS。
BFS和DFS绝对有用,但如果您的应用程序不需要它,请不要倾向于使用它。
附注 - 我相信邻接矩阵上的BFS和DFS需要O(|V|^2)
(因为你需要为每个顶点做一个常量O(|V|)
工作以找到它的邻居),其中 - 直接遍历应该采取O(|V|)
。