用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行______次数组元素之间的比较。...

用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行______次数组元素之间的比较。
A.12,14
B.10,14
C.12,16
D.10,16
正确答案是A
答案解析
插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。
插入排序最基本的应用就是 平时打扑克牌的时候 一张张拿牌的过程。

以下是排序步骤:
1、【3】1,4,1,5,9,6,5
2、【1,3】,4,1,5,9,6,5 比较次数1次:3和1比较
3、【1,3,4】,1,5,9,6,5 比较次数1次:4和3比较 因为4比3大所以不和1比较
4、【1,1,3,4】,5,9,6,5 比较次数3次:1和4比较 1和3比较 1和1比较 因为1比4小故而需要和之前的数组比较直到大于等于之前的数字才停止
5、【1,1,3,4,5】,9,6,5 比较次数1次:5和4比较
6、【1,1,3,4,5,9】,6,5 比较次数1次:9和5比较
7、【1,1,3,4,5,6,9】,5 比较次数2次:6和9比较 6和5比较
8、【1,1,3,4,5,5,6,9】 比较次数3次:5和9比较 5和6比较 5和5比较
所以 比较的次数为 1+1+3+1+1+2+3=12次

 

归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。

以下是排序步骤:

所以比较次数为 4+6+4=14次

转载于:https://www.cnblogs.com/haowuji/p/6961731.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值