利索能及
我要发布
收藏
专利号: 2019108394926
申请人: 苏州大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于低平衡空间树动态空间索引方法,其特征在于,包括如下步骤:步骤1、确定待分裂的叶子节点的索引项集合S;

步骤2、将索引项集合S在d维度上划分为S1和S0两组;

步骤3、对索引项集合S0在d维度上划分得到索引项集合S00、S01;对索引项集合S1在d维度上划分得到索引项集合S10、S11;

步骤4、初始化一个非叶节点r,r包括四个子节点r[0],r[1],r[2]和r[3];将索引项集合S00,S01,S10和S11分别存储到四个子节点r[0],r[1],r[2]和r[3]中;

步骤5、输出非叶节点r。

2.根据权利要求1所述的方法,其特征在于,所述索引项集合S0和S1两组元素的大小由参数p决定,其中参数p需满足 其中M为叶节点中存储索引项数量的上界,m为叶节点中存储索引项数量的下界,且M=(2d+1)m。

3.根据权利要求2所述的方法,其特征在于,步骤2所述将索引项集合S在d维度上分组包括:应用快速排序算法随机选择pivot进行迭代计算,当某次迭代所选择的pivot位于集合S的第 位和第 位之间时则结束迭代过程,此时S在d维度上被划分为S1和S0两组集合。

4.根据权利要求3所述的方法,其特征在于,还包括:为各节点组成的低平衡空间树设置平衡因子,将所述平衡因子设置为可配置参数。

5.根据权利要求4所述的方法,其特征在于,在对所述低平衡空间树执行插入和删除操作时,进行重分配低平衡空间树中元素。

6.根据权利要求5所述的方法,其特征在于,所述重分配低平衡空间树中元素包括:步骤1、确定需要重新分配的节点n;

步骤2、判断节点n是否是非叶节点,若是,则执行步骤3;若否,则执行步骤5;

步骤3、将存储在节点n中所有索引项聚合到一个节点I中;

步骤4、对上述步骤得到的节点I递归执行步骤1和2,直到所得结果为叶节点;

步骤5、对节点n的索引项集合S进行分裂,得到非叶节点r;

步骤6、对i赋初始值0;

步骤7、将Sr[i]·size与M进行比较,若Sr[i]·size大于M,则对r[i]递归执行步骤1-7,若否则输出r[i],并执行步骤8;

步骤8、并将i赋值更新为i+1,并执行步骤7,直至i=2d-1;

步骤9、输出非叶节点r。

7.根据权利要求6所述的方法,其特征在于,对所述低平衡空间树执行插入操作包括:步骤1、确定低平衡空间树的根节点r和待插入的元素e;

步骤2、查找适合插入待插入元素e的叶节点I;

步骤3、将待插入元素e添加到叶节点I的索引项集合SI中;

步骤4、通过将Sl.size与M进行比较判断是否发生越界,若Sl.size小于M则未发生越界,插入操作执行成功;

若Sl.size大于M则判断发生越界,执行步骤5;

步骤5、确定I经分裂步骤后的上层节点中第一个失衡的节点n;

步骤6、查找失衡的节点n的最小子树,重新分配最小子树中的元素,完成插入操作。

8.根据权利要求7所述的方法,其特征在于,所述查找失衡的节点n的最小子树的过程包括:N(1/2d)D<M   (1)

N(p-1/2p)dD<M   (2)

其中N是n中存储的元素数,通过公式(1)、(2)和(3)计算出n的深度值D的取值范围,当D的取值导致n的更高层节点失衡时,则以该失衡节点再执行重分配过程,直到重新分配节点元素后节点的更高级别节点不会失去平衡,此时低平衡空间树为最小子树。

9.根据权利要求5所述的方法,其特征在于,对所述低平衡空间树执行删除操作包括:步骤1、确定低平衡空间树的根节点r,以及待删除的元素e;

步骤2、确定存储e的叶节点I,将e从I的索引项集合SI中移除e;

步骤3、判断SI的元素数是否小于叶节点中存储索引项的数量下界m,若是,则执行步骤

4;若否,则结束流程;

步骤4、判断SI.pa的元素数是否大于叶节点中存储索引项的数量上界M,若是,则执行步骤5;若否,则执行步骤6;

步骤5、确定I.pa的最小子树,重新分配最小子树中的元素;

步骤6、初始化新的叶节点nI代替I.pa,并将I.pa的所有子节点的索引元素添加到nI中;

步骤7、查找nI中第一个失衡节点n,并查找失衡的节点n的最小子树,重新分配最小子树中的元素,完成删除操作。

10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法。

11.一种装置,所述装置为计算机装置,包括:处理器、用于存储处理器可执行指令的存储器;其特征在于,所述处理器被配置为实现如权利要求1至9中任一项所述的方法。