Java常用的排序算法总结

转载:

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 冒泡

特点:效率低.

实现简单思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往前排。


冒泡排序

代码:

冒泡排序代码

你可能感兴趣的:(Java常用的排序算法总结)