首先,我们把/text下的文件及文件夹称作为v0级文件,以此同理,vo级文件夹下的子文件为v1级...v2
广度优先搜索
在广度优先搜索中,我们是这样遍历的:
先遍历v0的所有文件,存储v1的所有需要遍历的文件夹...深度优先搜索的做法是,从一个起点开始,一直遍历下去,直到满足条件或者没有数据遍历,则开始第二个点开始遍历,直到最后一个vo级数据遍历完毕
广度优先搜索和深度优先搜索
现在我们已经知道了广度优先搜索以及深度优先搜索的搜索步骤...最优解
之前的那个搜索文件的需求,我们稍微改一改:
一个文件夹里面有n级的子文件夹,有着5,6个名字为"仙士可.txt"的文件,现在我们需要找到层级最高(离v0最近的)的那个"仙士可.txt"文件...这样子,我们就可以找到层级最高的"仙士可.txt"
而在广度优先搜索中,我们只需要v0下去逐层查找,找到之后立即返回即可
深度优先搜索可以在消耗少量内存的情况下找到一个解,但这个解并不一定是最优解,如果需要找最优解...,在栈里面判断该次搜索任务是否完成
算法需求拆分:
1:递归函数,foreach当前级别的文件数组的时候,继续调用该函数,去foreach下一个级别的文件数组,直到找到结果集数组或者遍历全部完成
2:获取子级数据