< 返回新闻公共列表
基础排序算法
发布时间:2023-06-26 13:59:59
- 排序算法总结(图片CV的)

- 快速排序
基本思想:分而治之、挖坑填数
基本实现原理如下
- 首先选取target目标作为参考数字
- 然后将数组中所有的数据与target比较,比target小的置于左边,比target大的,置于右边,形成两个区间。
- 重复1、2步,直到数组的所有子区间的大小为1为止
- 设存在数组为[30,40,60,10,20,50],取第0个元素为target元素
- 设置初始参考值为target=arr[0],设置两个指针left=0,right=arr.length-1
- right--移动右边界索引,直到出现arr[right]<target时,此时填坑将arr[left]=arr[right],然后left++
- left++移动左边界索引,直达出现arr[left]>target时,此时填坑将arr[right]=arr[left],然后right--
- 重复b,c操作,直到left==right,将arr[left]=target
因涉及一些执行语句,不能写入,请联系客服获取
基本思想:分而治之,先拆开后合并,由局部子序列有序推导出序列整体有序
基本实现原理如下
- 首先将需要排序的数组每次都对半拆分,直到每个序列都只有一个元素
- 而后进行合并操作,将arr[left...mid],arr[mid+1...right]合并
- 合并过程中,将arr[left...mid],arr[mid+1...right]每个元素进行比较,按照递增或者递减顺序存放进newArr
- 重复以上2、3步骤,直到到达递归树顶层
因涉及一些执行语句,不能写入,请联系客服获取
基本思想:增量逐渐缩小
基本实现原理如下
- 首先取target=arr.length/2为参考增量,每次将target减半
- 由arr[i]与arr[i-target]比较,若i-target大于i,则i-target后移
- 重复1、2操作,直至target=1
- shell排序过程

因涉及一些执行语句,不能写入,请联系客服获取