简单搜索(DFS-BFS)

1、DFS(Depth-First-Search)深度优先搜索算法:
是图与树搜索中用到的一种算法:
遍历的思想是:先从根部进行,一直遍历到最底部的叶节点,然后再返回到根节点,判断,如果该根节点上的叶节点都被遍历过,再返回到根节点,直到遍历到整棵树。

哈哈

DFS遍历循序: 我们可以通过栈的思想来进行搜索,A入栈,B入栈,D入栈然后搜索,D出栈,E入栈,进行搜索,E出栈,B出栈,C入栈,F入栈进行搜索,然后全部出栈
当然实际上是通过递归的操作来实现栈上的搜索。

2、BFS(Breadth First Search):广度优先搜索算法
还是借用上图
广度优先搜索顾名思义,以横向优先,所以我们的搜索是逐层搜索。
搜索顺序是A,B->C,D->E->F.
我们实际实现是通过队列来实现的。
首先,将A入队,进行搜索判断。
将B,C入队,A出队,进行搜索判断。
将D,E,F入队,B,C出队进行搜索判断。
清空队列。

猜你喜欢

转载自blog.csdn.net/zhao1282643972/article/details/81235460