![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
三日沐水
这个作者很懒,什么都没留下…
展开
-
算法-选择排序-java
方法实现了选择排序算法。算法的关键是从未排序部分选择最小的元素,并将其与未排序部分的第一个元素交换位置。通过这种方式,每次迭代都会将未排序部分的最小元素放到已排序部分的末尾。重复这个过程,直到整个数组排序完成。方法中,我们测试了选择排序算法的实现。输出结果为排序后的数组。在这个示例中,我们通过。原创 2023-07-20 16:09:51 · 100 阅读 · 0 评论 -
算法-插入排序-java
方法实现了插入排序算法。算法的关键是将数组分成已排序和未排序两部分。初始时,第一个元素被认为是已排序的部分,然后从第二个元素开始遍历。对于每个元素,我们将其与已排序部分的元素进行比较,并将比它大的元素向右移动,为该元素腾出插入的位置。最后,我们将该元素插入到正确的位置。重复这个过程,直到整个数组排序完成。方法中,我们测试了插入排序算法的实现。输出结果为排序后的数组。在这个示例中,我们通过。原创 2023-07-20 15:59:09 · 66 阅读 · 0 评论 -
算法-快速排序-java
方法中,我们通过遍历数组,将小于基准点的数放到左边,大于基准点的数放到右边,最后将基准点放到正确的位置上。这里使用了双指针的思想,使用。方法将数组划分为两个子数组,并返回基准点的索引。然后,我们递归地对划分后的子数组进行快速排序,直到排序完成。方法中,我们首先选择一个基准点(这里选择最右边的元素),然后通过。这是一个使用经典的"最右元素作为基准点"的快速排序算法实现。方法中,我们测试了快速排序算法的实现。方法中,我们用于交换数组中两个元素的位置。来记录小于基准点的元素的最后一个位置。原创 2023-07-20 15:47:41 · 270 阅读 · 0 评论 -
算法-归并排序-JAVA
分别指向左子数组、右子数组和临时数组的位置。通过比较左指针和右指针指向的元素大小,将较小的值复制到临时数组中,并同时移动指针。最后,将临时数组中的元素复制回原始数组中。归并排序的时间复杂度为O(nlogn),其中n是待排序数组的大小。该算法是一种稳定的排序算法,适用于各种数据类型和数据量的排序。在归并排序中,首先进行递归地将数组划分为更小的子数组,然后进行合并操作。在合并操作中,将两个有序的子数组合并成一个有序的数组。方法用于调用归并排序的入口,它接受待排序的数组作为参数,并创建一个额外的临时数组。原创 2023-07-20 15:13:07 · 804 阅读 · 0 评论