五个数排序的最小比较次数
2013-09-12 09:11
183 查看
假设这五个数为 a b c d e
比较过程如下:
a&b , c&d -------------a>b , c>d
a&c -------------------------a>c>d
将e插入a c d 中,e与c比较一次后 或者与a比较 或者与d 比较 就能将e插入了,比较次数为2
结果有以下4种:
1、e>a>c>d 插入b ,先与 c 比较,再与a 或者d 比较 比较2次
2、a>e>c>d 插入b ,先与 c 比较,再与e 或者d 比较 比较2次
3、a>c>e>d 插入b ,先与 e比较,再与c 或者d 比较 比较2次
4、a>c>d>e 插入b ,先与 d 比较,再与c 或者e 比较 比较2次
所以比较的次数一共为2+1+2+2=7次
这个排序我感觉是一种中序排序,有点类似于二叉排序树的节点插入
比较过程如下:
a&b , c&d -------------a>b , c>d
a&c -------------------------a>c>d
将e插入a c d 中,e与c比较一次后 或者与a比较 或者与d 比较 就能将e插入了,比较次数为2
结果有以下4种:
1、e>a>c>d 插入b ,先与 c 比较,再与a 或者d 比较 比较2次
2、a>e>c>d 插入b ,先与 c 比较,再与e 或者d 比较 比较2次
3、a>c>e>d 插入b ,先与 e比较,再与c 或者d 比较 比较2次
4、a>c>d>e 插入b ,先与 d 比较,再与c 或者e 比较 比较2次
所以比较的次数一共为2+1+2+2=7次
这个排序我感觉是一种中序排序,有点类似于二叉排序树的节点插入
相关文章推荐
- 只含0、1的串进行排序,可任意交换位置,最小交换次数
- 算法8:一个整数数组里怎么同时找最大和最小的数,尽量优化比较次数
- 元素的比较次数与元素初始排序无关的排序方法
- 最坏情况下,合并两个大小为n的已排序数组所需要的比较次数为
- sicily 选择排序比较次数 期末测试
- Java实现2路合并次序最小比较次数
- 插入排序需要比较的次数
- 比较排序的最少比较次数
- 算法入门:最少比较次数求最大/最小/第二大元素
- 用最小的比较次数来得到,最大值和最小值
- 求数组中最大值和最小值 以及 求数组中最大值和次大值 最小比较次数
- 程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】
- 关于插入排序元素之间比较次数的计算
- 试着用最小的比较次数去寻找数组中的最大值和最小值。
- 比较次数最少的排序
- 设定二维整数数组B[0..m-1,0..n-1]的数据在行,列方向上都按从小到大的顺序排序,且整形变量x中的数据在B中存在。设计一个算法,找出一对满足B[i][j]=x的I,j值,要求比较次数不超过m
- C语言初学 比较五个整数并输出最大值和最小值1
- 交换任意两个元素进行排序进行的最小交换次数
- 求一个数组中的最大值和最小值,要求将比较次数减小至3N/2
- 笔试题&面试题:给定n个数,要求比较次数1.5n同时找出最大值和最小值