运行时间O(V + E) V是节点数,E是边数
广度优先搜索解决路径是否存在以及路径最短问题。
类似于路径最短问题,可以使用图来建模型,再使用广度优先搜索。图包含了有向图和无向图。有向图中的边为箭头,箭头的方向指定了关系的方向。无向图不带箭头,关系是双向的。
队列是先进先出/栈是后进后出。
因为要找到最短路径,所以要按照顺序处理搜索的元素,所以搜索列表必须是队列。
对于已经搜索过的元素,必须跳过,否则如果关系是双向的,会造成死循环。
运行时间O(V + E) V是节点数,E是边数
广度优先搜索解决路径是否存在以及路径最短问题。
类似于路径最短问题,可以使用图来建模型,再使用广度优先搜索。图包含了有向图和无向图。有向图中的边为箭头,箭头的方向指定了关系的方向。无向图不带箭头,关系是双向的。
队列是先进先出/栈是后进后出。
因为要找到最短路径,所以要按照顺序处理搜索的元素,所以搜索列表必须是队列。
对于已经搜索过的元素,必须跳过,否则如果关系是双向的,会造成死循环。