![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
你小子也学Java吗?
这个作者很懒,什么都没留下…
展开
-
Java基础----快速排序
为了避免最坏情况的发生,可以在选择基准元素时采用随机化的方式。2. 将数列分为两部分,一部分是小于等于基准元素的元素,另一部分是大于基准元素的元素。3. 从左侧开始,找到第一个大于基准元素的元素,从右侧开始,找到第一个小于基准元素的元素。1. 选择一个基准元素(pivot),可以是数列中的任意一个元素。4. 如果左侧指针的位置小于右侧指针的位置,交换这两个元素的位置。6. 将基准元素与左侧指针所指向的元素交换位置,完成一次分区过程。5. 重复步骤3和4,直到左侧指针的位置大于等于右侧指针的位置。原创 2023-11-19 21:06:49 · 25 阅读 · 0 评论 -
Java基础----选择排序
它的基本思想是每次从待排序的数列中选择最小(或最大)的元素,将其放到已排序数列的末尾(或开头),然后再从剩余的未排序元素中选择最小(或最大)的元素,放到已排序数列的末尾(或开头),以此类推,直到所有元素都排序完成。选择排序的时间复杂度是O(n^2),其中n是待排序数列的长度。2. 从剩余的未排序元素中找到最小(或最大)的元素,将其与数列的第二个元素交换位置,将该元素视为已排序部分的末尾(或开头)。1. 找到数列中最小(或最大)的元素,将其与数列的第一个元素交换位置,将该元素视为已排序部分的末尾(或开头)。原创 2023-11-19 21:04:11 · 29 阅读 · 0 评论 -
Java基础----快速排序
快速排序是一种高效的排序算法。它的基本思想是通过选择一个基准元素,将数列分割成两个子数列,其中一个子数列的所有元素都小于基准元素,另一个子数列的所有元素都大于基准元素,然后对子数列进行递归排序。快速排序的时间复杂度是O(nlogn),其中n是待排序数列的长度。它是一种原地排序算法,不需要额外的空间,因此在实际应用中得到广泛使用。原创 2023-11-19 21:02:04 · 20 阅读 · 0 评论 -
Java基础----冒泡排序
冒泡排序的时间复杂度是O(n^2),其中n是待排序数列的长度。虽然冒泡排序的效率相对较低,但它是一种简单易懂的排序算法,适用于小规模的数据排序。原创 2023-11-19 20:59:15 · 26 阅读 · 0 评论