Data structure - Tree
放假时和同学吃饭,因为都是学计算机的,聊起程序中较有用的数据结构。我的反应是:树实在是太有用了,至少在写游戏的时候。
很多时候我们并不了解树能起怎样的作用。事实上它的用途远比我们第一眼见到它时来的广泛。树是个预排序的数据结构,而且能通过不同的遍历方式(先序、中序、后序)以达到不同的排序效果,而这排序在运行时的开销来看是微乎其微的。因为元素都在插入时“预排序”过了。当然这也要求你在往树中插入元素时有一个标准,而这个标准就是根据你的预排序来的。
就场景管理和碰撞检测之类的系统,需要将空间划分。但为了有效的管理和遍历空间,先驱者们提出了很多基于树的数据结构和方法:Octree是最浅显易懂的,k-d Tree往前进了一步,以及最经典有效的BSP Tree。