算法导论20.2-6

来源:互联网 发布:java finalize 异常 编辑:程序博客网 时间:2024/06/09 20:51
  • 问题描述
    写出一个创建proto-vEB(u)结构的伪代码
  • 问题求解
    proto-vEB(u)结构分为两种情况讨论:
    ①如果u=2,那么该结构只包含一个u和一个两位的位向量A;
    ②如果u>2,那么该结构的除了底层结点外都包含一个u、一个proto-vEB(u)结构和一个位向量cluster(其每个元素指向一个proto-vEB(u))。
    因此,可以得到proto-vEB(u)递归分配空间的伪代码,并进行适当的初始化。

MAKE-PROTO-vEB(u)

Allocate-interger uV.u=uif u==2    Allocate-Array A of size 2    V.A[1]=V.A[0]=0else    V.summary=MAKE-PROTO-vEB(sqrt(u))    for i=0 to sqrt(u)-1        V.cluster[i]=MAKE-PROTO-vEB(sqrt(u))
原创粉丝点击