基本排序的比较

1基本排序包括选择、插入、冒泡、希尔排序。

 

2基本排序适用于需要排序元素不是很多的小型文件(几十个或几百个)或基本有序文件(希尔排序)。

 

3使用基本排序的好处:

1)不用消耗太多精力在系统接口和排序的实现上,错误率低。

2)开销很小,通常只有中间变量用于交换。而快排、归并都存在退化文件过大的问题。

3)对于基本有序或包含大量重复关键字文件效率很高。

4)相对复杂排序,基本排序算法很多是稳定的(也看怎么写)。

 

    4算法的比较

 1)选择排序

 a.大概用N^2/2次比较操作和N次交换操作

 b.执行时间由比较操作数目决定,运行时间对文件中已经有序的部分依赖较少

 c.在“元素比较大,关键字比较小的文件”中应该优先选择,因为这是所有算法中移动数据最少的。

 

     2)插入排序

 a.n^2/4次比较 n^2/4次交换

b.运行时间与数据原始排列顺序密切相关。

c.在“文件较大,且关键字基本有序(或有序)”下效率很高。

 

3)冒泡排序

 a.效率最低的排序,n^2/2次比较 n^2/2次交换

 b.优点就是好实现,稳定排序。

4)希尔排序

 a.插入排序的扩展,具体效率与步长序列有关。Knuth发现N(log N)^2     N^1.25     N^(1 + 1/(lg N)^1/2)都比较适合。

 b.有许多性质和特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值