常见搜索算法:深度优先和广度优先搜索

Posted 测试开发小记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见搜索算法:深度优先和广度优先搜索相关的知识,希望对你有一定的参考价值。

搜索算法是非常常用的算法,用于检索存储在某些数据结构中的信息。最简单直接的就是暴力搜索,也就是线性搜索,但它的时间复杂度较高,在实际工程应用中很少使用,需要对它进行优化。

比如二分查找,贪心算法等搜索算法,在中,提到了对图和二叉树的搜索算法:深度优先搜索(DFS)和广度优先搜索(BFS),如果知道起点和终点状态的情况下,还可以使用双向BFS。DFS和BFS根据特定的顺序进行依次搜索,效率也不高,启发式搜索(heuristic search)也就是A*算法引入估价函数进一步提升了搜索效率,这些算法应用于各种场景中,本文介绍在树和图中常用的深度优先和广度优先搜索算法。