C语言 排序大全

插入排序
插入排序虽然不是最有效的排序方法,但它简单,并且不需要额外的存储空间。其最佳应用场景是对一个小的数据集合进行递增排序。
快速排序
在一般情况下,一致认为快速排序是最好的一种排序算法,而且不需要额外的存储空间。其最佳应用场合是应用于大型数据集。
归并排序
归并排序基本上与快速排序算法的性能相同,但它需要使用两倍于快速排序的存储空间。而具有讽刺意味的是,其最佳应用场合是在超大数据集中,因为归并排序的原理就是对原始的乱序数据不断进行对半分割。
计数排序
计数排序是一种稳定的线性时间排序算法,当知道数据集中整数的最大值的情况下会经常用到此算法。它主要用来实现基数排序。
基数排序
基数排序是逐位对元素进行排序的线性时间排序算法。基数排序适用于固定大小的元素集,并且其中的元素易于分割,且易于用整数表示。
二分查找
在一个不期望频繁地进行插入和删除操作的有序数据集中,使用二分查找非常高效。因为通常排序的代价大于搜索的代价。当数据集不变时,二分搜索的应用效果最佳。

次序统计
寻找集合中第i小的元素。一个简单的方法就是,一旦数据集排好序,取出第i个元素即可。
二分搜索
一种有效的查找方法,它依赖于有序数据集。二分搜索不断地将数据集从中分段,并检查每段中心位置的元素,从而最终找到目标元素。

发布了10 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42403632/article/details/88630364