标签:
原文地址:https://en.wikipedia.org/wiki/K-D-B-tree
计算机科学中,KDB-tree(k-dimensional B-tree)是一个用于划分K维搜索空间的树形结构,KDB-tree的目的是提供平衡KD树的搜索效率,同时提供B树面向块的存储来优化外部内存的访问。
介绍
类似于KD树,KBD tree组织K维空间的点,有助于范围搜索和多维数据库查询等操作。KDB tree通过在某个维度元素的比较将空间划分为两个子空间。使用2-D-B-tree举例子,空间划分使用和KD树相同的方式:使用某个维度的一个点,其他值要么小于或者大于当前值,分别分到左边和右边的划分平面上。
不同于KD树的地方,每个半空间不是自己的节点。而是和B树类似,KDB-tree中的节点以页来存储,树存储一个指针,指向根页。
结构
KDB-tree包括两种类型的页:
当向KDB树插入元素时,导致节点的规模超过它的最优规模,页面溢出。因为KDB-tree的目的是优化外部内存访问,例如硬盘访问,当节点的规模超过外部内存页大小,一个叶被认为是溢出。
通过插入和删除操作,KDB树保持一些属性:
KDB-tree中的操作
标签:
原文地址:http://www.cnblogs.com/skycore/p/5093257.html