七大排序
include_jklove
这个作者很懒,什么都没留下…
展开
-
七大排序----SevenSort(快速排序)
先在无序数组中选取一个分区点(数组中的一个元素),扫描整个集合将比当前分区点小的放在分区点数值的左侧,比分区点大的元素放在分区点数值的右侧,直接将分区点数值放在正确位置=》分区点数值就放在了正确的位置=》重复上述过程,继续在左半区间和右半区间进行快速排序。但是当数组近乎有序时快速排序可能会时间复杂度可能会变成O(n^2)快速排序的核心在于分区函数的实现:针对分区函数的实现,有N种操作。20世纪最伟大的算法之一------------快速排序。第二种方法(基于第一种方法的优化)原创 2022-12-08 20:34:00 · 99 阅读 · 0 评论 -
七大排序----SevenSort(归并排序)
不管三七二十一,我先把数组一分为二,直到每个数组只剩下一个元素,拆分阶段结束(此时每个子数组都是有序数组)不断将相邻的两个有序子数组,合并成为一个大的有序数组,直到合并成为完整的数组,此时整个数组有序!归并排序将排序的数组分为如下两个阶段。关于归并排序的时间复杂度和空间复杂度。时间复杂度是O(nlogn)归并排序的merge函数。归并排序的的核心在于。原创 2022-12-08 18:17:15 · 65 阅读 · 0 评论 -
七大排序----SevenSort(直接选择排序)
基于选择的思想:每次从无序区间中选择最小值或者最大值,放在元素的最开始或者最后面知道这个数组有序无须区间[ i , n)有序区间[ ]最开始,有序区间为空,无须区间就是整个数组,每走一次遍历就找到一个最大或者最小值就有一个元素放到正确位置,有序区间的个数+1无序区间-1当走了n-1次时无序区间只剩最后一个元素,此时整个数组已经有序原创 2022-12-07 16:12:31 · 72 阅读 · 0 评论 -
七大排序----SevenSort(希尔排序)
希尔排序就是针对直接插入排序的优化插入排序在近乎有序的数组上性能·非常好或者在小数据规模的集合中性能也很好于是先将数组调整得近乎有序,然后使用插入排序--------希尔排序的核心思想!!!具体操作先选定一个整数(gap)分组(所有距离为gap的元素在同一组),对同一组元素进行排序。不断缩小这个gap的长度(gap/=2,gap/=3)重复上述分组与排序过程,当gap==1时,其实整个数组已经近乎有序了,最后再来一次全组的插入排序整个集合就变得有序了。注意:(gap/=2,gap/=3):是经过论证得原创 2022-12-07 16:01:44 · 131 阅读 · 0 评论 -
七大排序----SevenSort(插入排序)
基于插入的思想:打扑克牌原创 2022-12-07 15:38:47 · 68 阅读 · 0 评论 -
七大排序----SevenSort(堆排序)
堆排序问题原创 2022-12-03 21:35:03 · 279 阅读 · 0 评论