K-d树:解决KNN近邻问题查找效率
对于一个k维的超平面,在KD树每一层的构建中都选择一个维度来进行划分,将k维的数据空间分为两部分,并使其尽量平衡。然后如此递归下去。
也就是说假如我们要储存n个三维的点(x,y,z)信息。
我们先按x坐标sort一遍,选出中间值 作为根节点,然后所有x比小的点在左子树,比大的在右子树。
然后左,右子树分别按照y坐标sort一遍选出中间值作为子树的根节点,接着再在子树中按照z坐标sort一遍。接着再按x坐标…以此类推。
八叉树:八叉树(Octree)是一种用于描述三维空间的
树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)