Unity3D高级编程:主程手记
上QQ阅读APP看书,第一时间看更新

2.7.1 搜索算法概述

广度优先搜索和深度优先搜索是最常见的搜索算法,但如果直接使用不加修饰的广度优先搜索和深度优先搜索算法,会消耗比较多的CPU空间,以至于整体效率比较差。

搜索算法不只有广度优先搜索和深度优先搜索算法,它们只是表面看上去比较直接的搜索算法。搜索算法的目的就是找出各种类型的东西,事实上,动态规划、图论也能帮助我们很好地找到东西。好的搜索算法需要有数据结构的支撑,在数据结构里记录了信息的特征,每次搜索的痕迹和当前的内容环境都可以用于枝剪和优化。

搜索的目标一般有:在一组元素中找出某个元素,在一组元素中找出具有某个特征的所有元素,在2D或3D空间中找出某个元素,在2D或3D空间中找出具有某个特征的所有元素,在一堆相互连接的结构中找出两点的最短路径等。