作业5查找排序 参考答案

2019-01-19 14:35

数据结构作业5查找、排序 参考答案

作业5. 查找、排序

非编程作业参考答案:

1.设有关键字序列{25,40,33,47,12,66,72,87,94,22,5,58},散列表长12,散列函数为h(key)=key,用线性探查再散列、链地址法处理冲突,请分别画出散列表,并计算在等概率情况下的查找成功的平均查找长度。

线性探查再散列处理冲突:

0 1 2 3 4 5 6 7 8 9 10 1133 12 66 25 47 22 72 40 94 5 87 58查找时比较1次能够成功的有:25、40、33、12、72、87比较2次能够成功的有:47比较3次能够成功的有:66、94比较5次能够成功的有:5比较6次能够成功的有:22比较9次能够成功的有:58查找成功的ASL=(1*6+2+3*2+5+6+9)/12≈2.83

链地址法处理冲突:

22^33660 112^ 2^47253 58^4^

5^5

7294^6

740^ 8^ 9^87^ 1011^ 查找成功的ASL=(1*7+2*3+3*2)/12≈1.58

数据结构作业5查找、排序 参考答案

2.已知待排序序列为{50,86,72,41,45,93,57,46},请写出按下列排序方法进行升序排序时的第一趟排序结果:

① 冒泡排序; ② 二路归并排序;

③ 以第一个元素为枢轴的快速排序; ④ 堆排序初建堆序列; ⑤ 取d1=4时的希尔排序; ⑥ 简单选择排序。

冒泡排序: 50,72,41,45,86,57,46,93 二路归并排序:50,86,41,72,45,93,46,57 快速排序: 46,45,41,50,72,93,57,86 初建堆: 41,45,57,46,50,93,72,86 希尔排序: 45,86,57,41,50,93,72,46 简单选择排序:41,86,72,50,45,93,57,46

3.设计一种方法,以少于2n-3次的比较在顺序存储的n(n>=2)个数中同时找出最大和最小值。

方法1:从n个数中找出最大值放在下标为0的位置——(n-1)次比较; 再在剩余的n-1个数中找到最小值——(n-2)次比较; 总比较次数为2n-3。

方法2:将n个数两两比较,比较的过程中将小的数放在前面,大的数放

在后面——(0.5n)次比较;

之后在偶数下标的数中找到最小值(下标从0开始)——(0.5n-1)

次比较;

在奇数下标的数中找到最大值——(0.5n-1)次比较; 总比较次数为1.5n-2,当n>=2时小于2n-3。


作业5查找排序 参考答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013年湖北省各市中考数学分类解析专题4 - 图形的变换

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

马上注册会员

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