积薪斋

点滴记录,慢慢成长,一起分享

常用排序算法用法个人简单总结



排序个数n越小,采用简单排序越合适
n数量很大,就用改进排序算法;
在乎内存使用量建议用堆排序;
在乎稳定性要求时建议用归并排序;
对于时间要求高的,一般情况下快速排序比归并排序要快。

  • 堆排序总结
堆排序适合于数据量非常大的场合(百万数据)。 
堆排序不需要大量的递归或者多维的暂存数组。这对于数据量非常巨大的序列是合适的。比如超过数百万条记录,因为快速排序,归并排序都使用递归来设计算法,在数据量非常大的时候,可能会发生堆栈溢出错误。 
堆排序会将所有的数据建成一个堆,最大的数据在堆顶,然后将堆顶数据和序列的最后一个数据交换。接下来再次重建堆,交换数据,依次下去,就可以排序所有的数据。

  • 排序算法稳定性的意义
例如要排序的内容是一组原本按照价格高低排序的对象,如今需要按照销量高低排序,使用稳定性算法,可以使得想同销量的对象依旧保持着价格高低的排序展现,只有销量不同的才会重新排序。当然,如果需求不需要保持初始的排序意义,那么使用稳定性算法依旧将毫无意义)

阅读更多
文章标签: 排序算法
上一篇开篇
下一篇快速排序的另一种简单实现
想对作者说点什么? 我来说一句

常用排序算法总结及C源程序

2011年07月31日 27KB 下载

没有更多推荐了,返回首页

关闭
关闭