当前位置: 首页 > news >正文

大理网站设计百度网盘网页版

大理网站设计,百度网盘网页版,明空网络做网站好不好,微信网页版手机登录入口基本思想 快速排序Quicksort)是对冒泡排序的一种改进。 基本思想是分治的思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排…

基本思想

快速排序Quicksort)是对冒泡排序的一种改进。 基本思想是分治的思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

快速排序算法的平均时间复杂度O(nlogn)

快速排序法示意图:

image-20220721132451428

代码实现

思路:**左右双指针移动 **

例(从小到大排序下面的数组元素)

在这里插入图片描述

  1. 选择最右侧数值作为基准(pivot),并将该位置作为坑;左指针(left)指向最左侧数字,右指针(right)指向最右侧数字
    在这里插入图片描述

  2. 左指针向右移动。当左指针与右指针相遇(指向同一数字)时停下来,或者左指针指向数字大于pivot时也停下来,将该值填入坑中,将坑改为此位置
    在这里插入图片描述

  3. 右指针向左移动。左指针与右指针相遇时停下来,或者右指针指向数字小于pivot时也停下来,将该值填入坑中,将坑改为此位置
    在这里插入图片描述

  4. 循环2、3步直至两指针相遇。如果此时左指针与右指针相遇,此时该位置为坑,将pivot填入该坑中,这样pivot的位置就找好了。
    在这里插入图片描述

  5. 递归(以上步骤)基准左、右两旁的数列,直至数列不可再分则完成排序

备注:

  1. 递归的出口必须仔细考虑清楚,否则就会陷入无穷循环从而使栈溢出;
  2. 这里如果pivot 选在左侧,就要先从右侧开始遍历,反之则先从左侧开始
  3. 记得考虑到数值相同的情况

代码落地

public static void quickSort(int[] arr,int startIndex, int endIndex) {if (startIndex >= endIndex) {return;}int left = startIndex, right = endIndex, pivot = arr[endIndex];while (left < right) {while (left < right && arr[left] <= pivot) {left++;}arr[right] = arr[left];while (left < right && arr[right] >= pivot) {right--;}arr[left] = arr[right];}arr[left] = pivot;quickSort(arr, startIndex, left - 1);quickSort(arr, left + 1, endIndex);
}

参考文章

快速排序法(详解)

五分钟学会一个高难度算法:快速排序

排序算法之快速排序(Java实现)

http://www.15wanjia.com/news/783.html

相关文章:

  • 有创意的个人网站百度竞价排名是哪种方式
  • 有没有代做模型的网站宁波seo推广定制
  • 网站建设解决方杭州seo网站推广
  • 网站霸屏怎么做seo查询平台
  • 深圳网站制作公司价位怎么做线上销售
  • 云南做网站原画培训机构哪里好
  • 建设部施工合同范本百度关键词优化软件怎么样
  • 技术合同 网站开发品牌推广活动策划案例
  • 河南网站建设首选公司腾讯企点app
  • 网站怎么做seo步骤关键词排名怎样
  • 在线代理软件关键词首页排名优化价格
  • 沧浪seo网站优化软件付费推广外包
  • 农安县建设局官方网站百度客服中心人工在线
  • 营销网站参考一键生成个人网站
  • 娄底网站建设企业营销管理
  • 百度免费域名注册网站广州市疫情最新情况
  • 做pc端网站报价推广策划书模板范文
  • 电子商务网站开发 pdf优化大师平台
  • 黄石网站推广排名服务天津网站推广
  • wordpress 加速seo技术助理
  • 建筑工程找工作哪个网站好网络优化公司
  • 如何在网站上做用工登记百度网页版下载
  • 深圳手机移动网站开发网络营销软件大全
  • 律师个人 网站做优化seo查询排名系统
  • 电子商务策划书模板保定seo推广
  • wordpress 蓝色主题百度seo排名报价
  • 个人网站维护费用seo关键词快速排名
  • 图片网站建设刷僵尸粉网站推广
  • 山东建站管理系统短视频营销方式有哪些
  • 音乐资源网站开发门户网站软文