- 问题描述
写出PROTO-vEB-MAXIMUM和PROTO-vEB-PREDECESSOR过程的伪代码 - 问题求解
PROTO-vEB-MAXIMUM(V)
注:返回V中的最大元素,或NIL
if V.u == 2
if V.A[1] == 1
return 1
elseif V.A[0] == 1
return 0
else return NIL
else max-cluster=PROTO-vEB-MAXIMUM(V.summary)
if max-cluster == NIL
return NIL
else offset=PROTO-vEB-MAXIMUM(V.cluster[max-cluster])
return index(max-cluster,offset)
PROTO-vEB-PREDECESSOR(V,x)
注:返回V中小于x的最大元素,或NIL
if V.u == 2
if x == 1 and V.A[0] == 1
return 0
else return NIL
else offset=PROTO-vEB-PREDECESSOR(V.cluster[high(x)],low(x))
if offset != NIL
return index(high(x),offset)
else prede-cluster=PROTO-vEB-PREDECESSOR(V.summary,high(x))
if prede-cluster == NIL
return NIL
else offset=PROTO-vEB-MAXIMUM(V.cluster[prede-cluster])
return index(prede-cluster,offset)