深度优先搜索(DFS)
深度优先搜索,是从起点v0开始,优先往下v1,v2级搜索下去,同样的举例子:
假设有一个这样的文件夹:
?...深度优先搜索
深度优先搜索的做法为:
1:保存v0级别的所有文件,1,2,3,4,5,测试文本01.txt,测试文本02.txt,
2:先遍历v0级别的目录1,判断为目录,而不是目标文件
3:保存目录...深度优先搜索的做法是,从一个起点开始,一直遍历下去,直到满足条件或者没有数据遍历,则开始第二个点开始遍历,直到最后一个vo级数据遍历完毕
广度优先搜索和深度优先搜索
现在我们已经知道了广度优先搜索以及深度优先搜索的搜索步骤...深度优先搜索的做法是这样的:
找到该文件之后,记录该文件的层级(假设为v5)以及路径
继续查找,找到之后,如果层级大于v5,则忽略,如果小于v5,则覆盖之前的层级以及路径
......这样子,我们就可以找到层级最高的"仙士可.txt"
而在广度优先搜索中,我们只需要v0下去逐层查找,找到之后立即返回即可
深度优先搜索可以在消耗少量内存的情况下找到一个解,但这个解并不一定是最优解,如果需要找最优解