+ -
当前位置:首页 → 问答吧 → 数据是部分有序的选何种算法?

数据是部分有序的选何种算法?

时间:2011-12-17

来源:互联网

本人新手,正在学习C语言,看到算法那章想到的问题。
数据比如 1345 76543 2679 456 3478(毕竟可能有时是多个人提交的数据,只有他自己把自己的排了排序)
选何种算法效率比较高呢?大家谈谈自己的看法吧!

作者: overture2012   发布时间: 2011-12-17

我在实际应用中,从不考虑这种低层的算法,用标准的函数就OK了
C提供了标准的qsort函数,用的是快速排序算法
因为现在的内存能满足一般的数据要求
如果是大量的数据(百万千万级),直接用数据库就OK了

作者: keiy   发布时间: 2011-12-17

多个版本的stl的作者认为 :
部分排序最优算法是使用堆排序。

首先将所有数据make_heap
然后对前面需要排序的数据pop_heap;

考虑到这里是C语言版块,不贴C++的代码,只说算法 。

作者: mingliang1212   发布时间: 2011-12-17