转载:
https://blog.csdn.net/java_1996/article/details/87113496
https://www.jianshu.com/p/cf8b04f2bb9f
https://blog.csdn.net/ruicosta_1982/article/details/49124441
https://www.cnblogs.com/guoyaohua/p/8600214.html
舞动的排序算法:
1、冒泡排序
http://v.youku.com/v_show/id_XMzMyOTAyMzQ0.html
2、归并排序
http://v.youku.com/v_show/id_XMzMyODk5Njg4.html?f=16755664
3、希尔排序(谢尔排序)
http://v.youku.com/v_show/id_XMzMyODk5MzI4.html?f=16755664
4、选择排序
http://v.youku.com/v_show/id_XMzMyODk5MDI0.html?f=16755664
5、快速排序
http://v.youku.com/v_show/id_XMzMyODk4NTQ4.html?f=16755664
6、插入排序
http://v.youku.com/v_show/id_XMzMyODk3NjI4.html?f=16755664
一、复杂度
相关概率:
稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。
不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。
时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。
O(N) : for(int i=0;i<10:i++){};
O(N*N) : for(int i=0;i<10:i++){for(int i=0;i<10:i++){}};
O(log2n) : 就是将循环次数/2;
O(nlog2n) : 就是循环数据的次数1分为2;
空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。
二、排序算法
2.1 冒泡
特点:效率低.
实现简单思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往前排。
代码: