1.设查找表为(16,15,20,53,64,7),
(1)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树.(要求以数据元素作为树结点)
(2)求在等概率条件下, 对上述有序表成功查找的平均查找长度.
解:
(1)
(2)平均查找长度=(1*1+2*2+3*3)/6=14/6
2.(1)对给定权值2,1,3,3,4,5,构造哈夫曼树。
(2)同样用上述权值构造另一棵哈夫曼树,使两棵哈夫曼树有不同的高度,并分别求
解:
(1)
wpl1=45
(2)
wpl2=45
1.以下冒泡法程序对存放在a[1],a[2],……,a[n]中的序列进行冒泡排序完成程序中的空格部分,其中n 是元素个数,要求按升序排列。
void bsort (NODE a[ ], int n)
{ NODE temp;
int i,j,flag;
{flag=0;
;i++)
if(a[i].key>a[i+1].key)
{flag=1;
temp=a[i];
;
}
if(flag= =0)break;
}
}
程序中flag 的功能是 ⑤ ①j
②i
③a[i]=a[i+1]
④a[i+1]=temp
⑤当某趟冒泡中没有出现交换则已排好序结束循环。