【发布时间】:2015-09-25 04:40:34
【问题描述】:
当递归遍历目录结构时,如果文件多于目录,使用什么算法最有效?我注意到当使用深度优先遍历时,当给定目录中有很多文件时,它似乎需要更长的时间。在这种情况下,广度优先遍历是否更有效?目前我无法分析这两种算法,因此非常欢迎您提供见解。
编辑:针对 alphazero 的评论,我在 Linux 机器上使用 PHP。
【问题讨论】:
-
为什么不能分析这两种算法?
-
致 Zoidberg:实际上,我不知道该怎么做。我刚刚开始重新开始开发,并且正在尝试与我回到大学时所做的相同的事情。但这一次,我想更好地理解事情。知道如何有效地测试吗?
-
在您指定 (a) 语言/操作系统,(b) 您对文件执行的操作之前,您不会得到任何有意义的答案。此外,“似乎需要更长的时间”听起来也不是事实。从基础开始:在开始之前获取系统时间并在完成后测量增量,以便您/我们知道它是“似乎”还是“确实”。
-
抱歉含糊其辞。我不能像你希望的那样具体,因为我不知道如何正确地测试这个案例。我正是出于这个原因问这个问题。
-
@oninea 在你的代码中添加一个变量来计算时间,看看遍历一个目录需要多长时间。