设有一个关键码的输入序列(55,31,11,37,46,73,63,02,07):(1)从空树开始构造平衡二叉搜索树,画
设有一个关键码的输入序列(55,31,11,37,46,73,63,02,07):
(1)从空树开始构造平衡二叉搜索树,画出每加入一个新结点时二叉树的形态。若发生不平衡,指明需进行的平衡旋转的类型及平衡旋转的结果
(2)计算该平衡二叉搜索树在等概率下的搜索成功的平均搜索长度和搜索不成功的平均搜索长度。
设有一个关键码的输入序列(55,31,11,37,46,73,63,02,07):
(1)从空树开始构造平衡二叉搜索树,画出每加入一个新结点时二叉树的形态。若发生不平衡,指明需进行的平衡旋转的类型及平衡旋转的结果
(2)计算该平衡二叉搜索树在等概率下的搜索成功的平均搜索长度和搜索不成功的平均搜索长度。
(1)k1的探查序列:___30___,________,________,________,
(2)k2的探查序列:___28___,________,________,________,
(3)k3的探查序列:________,________,________,________,
设有一个职工文件(参看图10-7):其中,关键码为职工号:
(1)若该文件为顺序文件,请写出文件的存储结构,
(2)若该文件为索引顺序文件,请写出索引表。
(3)若基于该文件建立倒排文件,请写出关于性别的次索引和关于职务的次索引。
排表,再写出搜索结果。
(1)男性职工;
(2)月工资超过800元的职工;
(3)月工资超过平均工资的职工;
(4)职业为实验员和行政秘书的男性职T;
(5)男性教师或者年龄超过25岁且职业为实验员和教师的女性职工。
A.scanf("%d",p1+3)
B.scanf("%d",arr[3])
C.scanf("%d",p1*3)
D.scanf("%d",&p1[3])
A.scanf("%d",p1[3])
B.scanf("%d",arr[3])
C.scanf("%d",p1)
D.scanf("%d",p1+3)
可将算法的时间复杂度降低到O(nlog2n),算法的思想是对于关键码序列(keylow,keylow+1,…,keyhigh),轮流以keyk为根,k=low,low+1,…,h,求使得|W[low-1][k-1]-W[k][high]|达到最小的k,用keyk作为由该序列构成的拟最优二叉搜索树的根。然后对以keyu为界的左子序列和右子序列,分别施行同样的操作,建立根keyk的左子树和右子树,试编写一个函数,实现上述试探算法。要求该函数的时间复杂度应为O(nlog2n)。
A、3,5,12,8,28,20,15,22,19
B、3,5,12,19,20,15,22,8,28
C、3,8,12,5,20,15,22,28,19
D、3,12,5,8,28,20,15,22,19