if V.min == V.max
V.min = NIL;
V.max = NIL;
elseif V.u == 2
if(x == 0)
V.min = 1;
else
V.min = 0;
V.max = V.min;
elseif x == V.min
first-cluster = vEB-TREE-MINIMUM(V.summary)
x = index( first-cluster, vEB-TREE-MINIMUM(V.cluster[first-cluster]) )
V.min = x;
vEB-TREE-DELETE(V.cluster[high(x),low(x) )
if vEB-TREE-MINIMUM(V.cluster[high(x)]) == NIL
vEB-TREE-DELETE(V.summary, high(x));
if x == V.max
summary-max = vEB-TREE-MAXMUM(V.summary)
if summary-max == NIL
V.max = V.min;
else
V.max = index(summary-max, vEB-TREE-MAXMUM(V.cluster[summary-max])
elseif x == V.max
V.max = index(high(x), vEB-TREE-MAXMUM(V.cluster[high(x)] )
当簇中元素包含两个及两个以上,且V.u>=4的情况下,只考虑 x == V.min,那x≠V.min的情况怎么处理? 难道不应该另写分支程序吗?
还有在已知被替换的x所在簇为空的情况下,当x==V.max时,是不是意味着V中其实只包含两个元素?