2024年java十大基础算法

java十大基础算法1 冒泡算法 冒泡排序 英语 Bubble Sort 又称为泡式排序 是一种简单的排序算法 它重复地走访过要排序的数列 一次比较两个元素 如果它们的顺序错误就把它们交换过来 走访数列的工作是重复地进行直到没有再需要交换 也就是说该数列已经排序完成

大家好,我是讯享网,很高兴认识大家。



1、冒泡算法

冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到java十大基础算法数列的顶端。

                                                                                                                        ---维基百科

1)算法步骤

  1. 比较相邻的元素。如果第一个比第二个大,就交换它们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

2)算法实现

 
讯享网 

2、快速排序

快速排序使用分治法策略来把一个序列分为较小和较大的2个子序列,然后递归地排序两个子序列。

步骤为:

  1. 挑选基准值:从数列中挑出一个元素,称为“基准”(pivot),
  2. 分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成,
  3. 递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。

递归到最底部的判断条件是数列的大小是零或一,此时该数列显然已经有序。

选取基准值有数种具体方法,此选取方法对排序的时间性能有决定性影响。

通常明显比其他算法更快,因为它的内部循环可以在大部分的架构上很有效率地达成。

动图如下:  

                        

1)算法步骤

讯享网/* 算法思路: 1)从数组中选取一个数字作为分界值 2)对数组进行遍历,大于分界值的 右边去,小于分界值左边 3)遍历+递归 */

2)算法实现

小讯
上一篇 2024-12-25 13:40
下一篇 2025-01-01 23:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7661.html