更高效率的广度优先搜索算法
学校课程和教科书中展示的经典广度优先搜索算法有时候效率非常的低下,因为即便所需的计算已经完成,经典的广度优先算法仍不会停止。下面的这篇被一位以图算法而著名的图灵奖获得者审查过的论文解释了经典广度优先搜索算法的问题,并介绍了一种改良后的广度优先搜索算法以提高算法的效率:
链接: https://queue.acm.org/detail.cfm?id=3424304
图片: https://dl.acm.org/doi/pdf/10.1145/3424302.3424304
文章中介绍的高效广度优先搜索算法拥有更为优秀的渐近计算复杂度。并且实验证明在实际应用当中,该算法对比于经典广度优先搜索算法有着巨大的提高。所有实验中用到的软件都可以被下载如果读者有需要重复或者拓展实验。
我们认为每一个计算机学生以及每一位程序员都应该阅读这篇文章,因为它能令我们重新思考教科书中的知识。就像教科书里的广度优先算法效率非常低下,是否会有其他算法有着类似的问题呢?
另外,一位硅谷的朋友告诉我至少有两家科技巨头公司将高效广度优先算法用于面试。这就意味着如果面试官问到了广度优先算法,教科书中所教的广度优先算法有可能不是正确的答案了。