将元素插入元素
要将元素插入deap数据结构,我们可能需要以下过程来计算最小值和最大值,如下所示-
min_value(m)过程://计算最小的最小值。返回m-2log2((m-1);
过程max_value(m)://计算deap中的最大值。返回m+2log2(m-1);
deap数据结构中的插入操作可以通过以下方式完成-
对于任何堆b[],我们应该检查m是否在deap的最大堆中。
然后,我们将计算最小和最大值。
现在,在左子树和右子树的键值之间进行比较。
最后,我们使用以下算法执行插入操作。
Procedure deap_insertion(b[], y, m):
if (m==1)
b[2]=y;
else{
if(m is in maximum subtree){
index=min_value(m);
if(y<b[index]){
b[m]=b[index];
insert y in minimum subtree;
}
else
insert y in maximum subtree;
} else {
index=max_value(m);
if(x>b[index]){
b[m]=b[index];
insert y into maximum subtree;
}
else
insert y into minimum subtree;
}