各类搜索算法
  1. 二分查找针对有序数据,但是需要维护这个有序数组,插入、删除等操作需要对数组进行O(n)的数组复制操作。

  2. 二叉查找树,类似二分法,但是左右节点不平衡,例如数据全挂在左节点,就是一个数组遍历的查找了,不稳定。

  3. 平衡二叉树,优化了二叉查找树,保证左右平衡(深度值差不超过1),充分发挥二分查找的优势。

  4. 红黑树是实现平衡二叉树的算法。对于需要经常查找但是不怎么需要修改的数据,可以采用快速排序和二分查找代替红黑树。

  5. 四叉树搜索,用来规划2D平面,刚好坐标划分为四象限,对于每一块象限又可以划分四象限,根据需求划分到最小快。在游戏项目中的用法有:平面的有效碰撞检测搜索范围、地形的有效展示范围、在地图上查找某方块上的人及二维平面的寻路网格构建。

  6. 八叉树搜索,规划3D空间,思想类似四叉树。用在游戏中包括渲染裁切、碰撞检测。


首页 我的博客
粤ICP备17103704号