《Kdtree学习心得》

KD-tree:一个可以维护多维空间的数据结构。

其实在本质上来说:kd-tree就是搜索的剪枝,暴力的优化。

通过树上维护的东西来判断是否要继续搜索,来实现优化的目的。

KD-tree的平衡性,沿用了替罪羊树的思想,用平衡因子来维护整个树。当树不平衡时,对树进行拍扁重构。

树节点的构建类似动态开点的线段树。对于一个的序列的构建,每次都取中位值点,来实现较平衡地建树。

KD-tree需要维护一个边界(如矩形区域)来实现更快地判断是否能剪枝。

对于KD-tree的查询,可能会复杂度很高,所以KD-tree的复杂度有时候比较玄学。

原文地址:https://www.cnblogs.com/zwjzwj/p/13413322.html