![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java算法实现
Mark丶9251
这个作者很懒,什么都没留下…
展开
-
用java实现归并排序算法
用java实现归并排序 一. 归并排序的思路 归并排序通过不断的将原数组进行拆分(通常拆分成左右两项),一直到剩下一项,然后分别将拆分的子数组进行合并,此时,两个子数组已经是排好序的,所以合并排序只需要进行一趟排序即可完成,所以此类排序需要两个步骤:1.拆分原数组 2.合并子数组。因此此算法是经典的分治算法。 拆分算法的思路 利用递归,不断得寻找左子数组和右子数组,一直到数组的长度为一 合并算法的...原创 2019-05-10 21:36:27 · 12424 阅读 · 3 评论 -
Java实现快速排序算法
Java实现快速排序算法 算法思路: 快速排序是基于分治法的思想 利用三数中值分割法寻找支点,并将支点左侧的元素全部小于支点元素,支点右侧的元素全部大于支点元素,然后将此数组分为三个部分,支点,支点左边子数组和支点右边子数组。然后不断的对左右两部分进行此方法,一直到子数组的长度小于3,退出递归程序后即为排序好的数组 寻找支点的方法: 将数组的最左边和最右边和中间的元素进行由小到大的排序,并取中间元...原创 2019-05-11 15:48:40 · 281 阅读 · 0 评论 -
Java实现利用分治法找到数组中的最大最小元素
Java实现利用分治法找到数组中的最大最小元素 基本思路: 不断的寻找数组的左子数组和右子数组,当左子数组和右子数组的长度为1时,最大最小元素均为本身,当左子数组和右子数组的长度为2时,直接进行一次比较分别得出两个子数组的最大最小元素,然后将子问题合并,在两个子数组中寻找到更大的元素作为大元素,更小的元素作为小元素,递归完成后,即可获得正确结果。 Java代码如下: public class F...原创 2019-05-11 09:12:28 · 1047 阅读 · 0 评论 -
Java实现快速选择算法找到第k个最小元素
Java实现快速选择算法找到第k个最小元素 算法思路: 该算法基于快速排序算法,与快速排序算法类似,但每次只需要一次递归调用,如果支点的位置刚好为k,则返回该支点元素,如果小于k,则递归调用右子数组,如果大于k,则递归调用左子数组。当子数组的长度小于3时,退出递归程序,第k - 1 个元素即为数组中第k小的元素 Java代码如下: public class QuickSelect { p...原创 2019-05-11 17:50:58 · 3739 阅读 · 2 评论