将元素插入元素
要将元素插入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; }