中国铁道出版社数据结构(第二版)单元9练习参考答案(3)

2018-11-21 22:30

(1) 若查找关键字63,需要依次与哪些关键字进行比较?

(2) 假定每个关键字的查找概率相等,求查找成功时的平均查找长度。 解:

(1) 查找63,需要比较6次。分别为:31,46, 47, 32, 17, 63。

8 2

(2) ASL=1/11(1×6+2×1+3×3+6×1)=23/11=≈2.1

3. 对于给定结点的关键字集合K={1,12,5,8,3,10,7,13,9}, (1)试构造一棵二叉排序树;

(2)如何依据此二叉排序树得到D的有序序列。 解:(1)构造二叉排序树: 1 12

513

8 3

7 10

9

(2)按中序遍历二叉排序树可以得到D的有序序列。

4. 对于给定结点的关键字集合K={15,9,20,12,17,4,18,10,29,6},构成一棵二叉排序树,并写出该二叉排序树中序遍历的结点序列。 解:

(1) 构造二叉排序树

15

9 20 4 12 1729 18 6 10

(2)中序遍历的结点序列:4,6,9,10,12,15,17,18,20,29。

5. 给定结点的关键字序列为:47,7,29,11,16,92,22,8,3,哈希表的长度为11。 设散列函数为:H(K)=K % 11。

试画出线性探测再散列解决冲突时所构造的散列表,并求出其平均查找长度。

解:(1) 线性探测再散列解决冲突时所构造的散列表:

0 11 1 22 2 3 47 4 92 5 16 6 3 7 7 8 29 9 8 10 ① ② ① ① ① ④ ① ② ②

(2) 平均查找长度ASL=(1*5+2*3+4*1)/9 = 15/9 =5/3 (或1.67)

6. 给定结点的关键字序列为:87,25,11,8,27,28,68,95,70,6,83,63,47,已知设散列函数为:H(K)=K % 13。

试画出链地址法解决冲突时所构造的哈希表,并求出其平均查找长度。 解:

(1) 链地址法解决冲突时所构造的哈希表。

0 ∧ 1 2 3 4 5 6 8 9 11 12

27 ∧ 28 ∧ 68 ∧ 95 ∧ 70 6 ∧ 8 83 ∧

7 ∧ 47 ∧

87 ∧ 11 10 ∧ 63 ∧

25 ∧

(2) 平均查找长度ASL=(1*10+2*3)/13 = 16/13 (或1.23)

查找程序填空

1.从键盘输入若干个整数,以回车为间隔,以-1为结束符号,建立一个顺序存储的线性表,然后按提示输入一个待查找的数进行查找。若找到,则显示找到的数据在线性表中的位置;否则显示“找不到”,试填空完成下列程序。

void SeqSearch() {int a[n],i,x,y;

cout<<\建立整数的顺序表(以回车为间隔,以-1结束):\ for (i=1;i<=MAXLEN;i++) {cin>>a[i];

if (a[i]== -1 )

{ y=i; break; }

}

cout<<\请输入要查找的数据:\ cin>>x; i=y-1;

while (i>=0 && a[i]!=x )

if ( i==0 )

cout<< \没有找到\else

cout<<\已找到,在第\个位置上\}

2. 对有序表R[0]至R[n-1]进行二分查找,查找成功时返回记录在表中的位置;查找失败时显示:“没有找到!”,试编写此程序。

void BinSearch()

{ int R[MAXLEN],i,low,high,mid,n,x; char ch;

cout<< \请输入要查找的数据: \ cin>> x ; low=0; high= n-1 ;

while (low<= high ) { mid= (low+high)/2 ;

if (R[mid]>x)

high= mid-1 ; else

if (R[mid]

low= mid+1 ;

else

break;

}

if ( low>high )

{ cout<< \没有找到!\ if (R[mid]

mid++ ;

cout<< \可将此数插入到\的位置上。\

i-- ; (或 i=i+1 )

else

}

cout<< \要找的数据\在第\的位置上\


中国铁道出版社数据结构(第二版)单元9练习参考答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在市政协十二届一次会议中共党员会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: