常用排序算法总结

排序

定义

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。

输入:n个数:a1,a2,a3,…,an
输出:n个数的排列:a1’,a2’,a3’,…,an’,使得a1’<=a2’<=a3’<=…<=an’。

导致算法优劣的因素

稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;
不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;

内排序:所有排序操作都在内存中完成;
外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;

时间复杂度: 一个算法执行所耗费的时间。
空间复杂度: 运行完一个程序所需内存的大小。
关于时间空间复杂度的详细介绍请看booirror的详细解释

各大排序算法的总结及比较

algorithm_9_2.png

排序算法.png

博文汇总

选择排序

插入排序

冒泡排序

希尔排序

归并排序

快速排序

堆排序

计数排序(稍后更新)

桶排序(稍后更新)

基数排序(稍后更新)

排序算法相关资源(视频讲解+动画演示+源码+经典例题) Download Now

密码见原文评论…

猜你喜欢

转载自blog.csdn.net/badguy_gao/article/details/79825256