![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java算法
文章平均质量分 81
忆亦何为
这个作者很懒,什么都没留下…
展开
-
java算法:插入排序
在传统的插入排序中,为了将当前元素插入到正确的位置,需要将较大的元素逐个向后移动,直到找到合适的位置。然而,我们可以通过将较大的元素向右移动一位,并将当前元素直接插入到正确位置来减少交换操作。然而,在处理大规模数据时,插入排序的性能可能不如其他更高效的排序算法。插入排序是一种简单直观的排序算法,它的工作原理是将待排序的数组分为已排序和未排序两部分,逐步将未排序部分的元素插入到已排序部分中的正确位置,直到整个数组有序。在传统的插入排序中,为了找到当前元素的正确插入位置,需要逐个比较已排序部分中的元素。原创 2024-06-17 18:00:21 · 743 阅读 · 0 评论 -
java算法:选择排序
选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是每次从待排序的元素中选择最小(或最大)的元素,放置在已排序的部分的末尾,直到所有元素都排序完成。遍历数组,将当前位置作为最小值的索引(假设为minIndex)。在未排序部分中遍历数组,从当前位置开始,找到最小值的索引。将最小值与当前位置的元素交换位置。这样,最小值将会被放置在已排序部分的末尾。重复步骤2和3,直到整个数组排序完成。// 遍历数组i < n - 1;i++) {// 当前位置作为最小值的索引。原创 2024-06-14 16:08:27 · 893 阅读 · 1 评论 -
java算法:冒泡排序
然而,尽管这些优化方法可以减少比较和交换的次数,冒泡排序的时间复杂度仍然是O(n^2),因此对于大规模数据集来说,并不是最优的排序算法选择。传统的冒泡排序是从左到右逐个比较并交换相邻元素的位置,而鸡尾酒排序是交替进行从左到右和从右到左的遍历,将较大的元素从末端冒泡到首端,再将较小的元素从首端冒泡到末端。在每一趟遍历中,通过记录最后一次交换的位置,将该位置作为下一趟遍历的边界。为了优化冒泡排序,可以引入一个标志变量来记录是否发生了交换操作,如果某一趟遍历中没有发生交换,就说明数组已经有序,可以提前结束排序。原创 2024-06-13 17:18:47 · 658 阅读 · 1 评论 -
java算法:快速排序
在上述代码中,quickSort()方法是快速排序的入口方法,它调用了私有的辅助方法quickSort()和partition()。quickSort()方法通过递归调用对子数组进行排序,而partition()方法用于将数组分区并返回基准元素的最终位置。快速排序是一种常用的排序算法,它利用分治的思想将一个数组分成两个子数组,然后递归地对子数组进行排序,最终将整个数组排序完成。可以看到,快速排序算法成功地对数组进行了排序。快速排序的平均时间复杂度为O(nlogn),其中n是数组的长度。原创 2024-06-12 17:27:21 · 408 阅读 · 3 评论