OSDN Git Service

style: format markdown files with remark-lint
author24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Sun, 28 Jul 2019 07:13:06 +0000 (03:13 -0400)
committer24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Sun, 28 Jul 2019 07:13:06 +0000 (03:13 -0400)
docs/ds/k-dtree.md

index 7d377e4..a9a3fd8 100644 (file)
@@ -46,9 +46,9 @@ k-D Tree 具有二叉搜索树的形态,二叉搜索树上的每个结点都
 
 ## 插入/删除
 
-如果维护的这个 $k$ 维点集是可变的,即可能会插入或删除一些点,此时 k-D Tree 的平衡性无法保证。由于 k-D Tree 的构造,不能支持旋转,类似与 FHQ Treap 的随机优先级也不能保证其复杂度,可以保证平衡性的手段只有类似于 [替罪羊树](/ds/scapegoat) 的重构思想。
+如果维护的这个 $k$ 维点集是可变的,即可能会插入或删除一些点,此时 k-D Tree 的平衡性无法保证。由于 k-D Tree 的构造,不能支持旋转,类似与 FHQ Treap 的随机优先级也不能保证其复杂度,可以保证平衡性的手段只有类似于[替罪羊树](/ds/scapegoat)的重构思想。
 
-我们引入一个重构常数 $\alpha$ ,对于 k-D Tree 上的一个结点 $x$ ,若其有一个子树的结点数在以 $x$ 为根的子树的结点数中的占比大于 $\alpha$ ,则认为以 $x$ 为根的子树是不平衡的,需要重构。重构时,先遍历子树求出一个序列,然后用以上描述的方法建出一棵 k-D Tree ,代替原来不平衡的子树。
+我们引入一个重构常数 $\alpha$ ,对于 k-D Tree 上的一个结点 $x$ ,若其有一个子树的结点数在以 $x$ 为根的子树的结点数中的占比大于 $\alpha$ ,则认为以 $x$ 为根的子树是不平衡的,需要重构。重构时,先遍历子树求出一个序列,然后用以上描述的方法建出一棵 k-D Tree,代替原来不平衡的子树。
 
 在插入一个 $k$ 维点时,先根据记录的分割维度和分割点判断应该继续插入到左子树还是右子树,如果到达了空结点,新建一个结点代替这个空结点。成功插入结点后回溯插入的过程,维护结点的信息,如果发现当前的子树不平衡,则重构当前子树。