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

免费建站软件宜昌市建设局网站

免费建站软件,宜昌市建设局网站,建设网站的流程,电脑上免费制作ppt的软件大家好我是苏麟,今天带来快速排序 . 快速排序 单边快速排序(lomuto 洛穆托分区方案) 单边循环 (lomuto分区) 要点 : 选择最右侧元素作为基准点j 找比基准点小的,i 找比基准点大的,一旦找到,二者进行交换。 交换时机: 找到小的&#xff0c…

大家好我是苏麟,今天带来快速排序 .

快速排序

单边快速排序(lomuto 洛穆托分区方案)

单边循环 (lomuto分区) 要点 :

  • 选择最右侧元素作为基准点
  • j 找比基准点小的,i 找比基准点大的,一旦找到,二者进行交换。
  1. 交换时机: 找到小的,且与i不相等o
  2. i找到 >= 基准点元素后,不应自增
  • 最后基准点与i 交换,i 即为基准点最终索引

B站解析 :

基础算法-210-排序算法-单边快排_哔哩哔哩_bilibili

代码 :

class Solution {public int[] sortArray(int[] nums) {int length = nums.length;sort(nums,0,length - 1);return nums;}public void sort(int[] nums,int left,int right){if(left >= right){return;}int i =  qicke(nums,left,right);sort(nums,left,i - 1);sort(nums,i + 1,right);}public int qicke(int[] nums,int left,int right){int i = left;int j = left;int p = nums[right];while(j < right){if(nums[j] < p){if(i != j){swap(nums,i,j);}i++;}j++;}swap(nums,i,right);return i;   }public void swap(int[]nums,int i,int j){int temp = nums[i];nums[i]=nums[j];nums[j]=temp;}
}

双边快速排序

双边循环要点 :

  • 选择最左侧元素作为基准点 
  • 找比基准点小的,i 找比基准点大的,一旦找到,二者进行交换
  1. i从左向右
  2. j从右向左
  • 最后基准点与i 交换,i 即为基准点最终索引

B站解析 :

基础算法-211-排序算法-双边快排_哔哩哔哩_bilibili

解析 : 

class Solution {public int[] sortArray(int[] nums) {int length = nums.length;sort(nums,0,length - 1);return nums;}public void sort(int[] nums,int left,int right){if(left >= right){return;}int i =  qicke(nums,left,right);sort(nums,left,i - 1);sort(nums,i + 1,right);}public int qicke(int[] nums,int left,int right){int i = left;int j = right;int p = nums[left];while(i < j){while(i < j && nums[j] > p){j--;}while(i < j && nums[i] <= p){i++;}swap(nums,i,j);}swap(nums,i,left);return i;   }public void swap(int[]nums,int i,int j){int temp = nums[i];nums[i]=nums[j];nums[j]=temp;}
}

小题一道

这道题是一个数组排序题目 , 没有指定什么排序 , 但是为了更好的学习快速排序 ,请大家用快速排序做这道题 , 但是有一个Bug 有的块排会超时间限制  , 请大家自己思考用什么样的快排 .

题目 :

LeetCode : 912 排序数组

912. 排序数组

分析 :

根据上面写出快排 

解析 :

class Solution {public int[] sortArray(int[] nums) {int length = nums.length;quickSort(nums,0,length - 1);return nums;}public void quickSort(int[] array,int start,int end){if (start >= end) {return; } int left = start, right = end; int pivot = array[(start + end) / 2];while (left <= right) {while (left <= right && array[left] < pivot){left++;}while (left <= right && array[right] > pivot){ right--; }if (left <= right){ int temp = array[left]; array[left] = array[right]; array[right] = temp; left++;right--; }}          quickSort(array, start, right); quickSort(array, left, end);} 
}

这期就到这里 , 下期见!

http://www.yayakq.cn/news/986869/

相关文章:

  • 网站导航固定代码网站后台html模板下载
  • 学校网站欣赏中文wordpress 手机网站支付
  • 公司网站备案资料江门市网站开发
  • 泰州cms建站模板sae部署wordpress
  • 建立网站的优势洛阳建站公司
  • 平度市城乡建设局网站网络营销流程是什么
  • 周宁县建设局网站广州网站设计建设公司
  • 做网站首页的图片素材电子商务网站开发模块流程图
  • 电子商务网站建设思维导图公司禁用网站怎么做
  • 静安集团网站建设上海大型网站建设公司排名
  • 商家产品展示网站源码舟山集团网站建设
  • 做英剧网站的设计思路极速网站建设定制价格
  • 要制作自己的网站需要什么材料怎么自己创建微信小程序
  • 黄冈智能网站建设平台wordpress显示选项
  • 北京企业网站定制上海浦东医院网站建设
  • 长沙城乡建设部网站首页株洲网站建设哪家好
  • 网站开发工作 岗位怎么称呼网络服务器配置与管理试题
  • 湖北省住房和建设厅官方网站查询网站的注册信息
  • 软件实施工程师工资一般多少石家庄百度推广优化排名
  • 青海西宁制作网站专业哪些平台可以发布推广信息
  • 怎么做公司的中英文网站网站前后台代码
  • 怎么查网站是谁建的网站色哦优化8888
  • 顺德做网站wordpress评论过滤
  • 网站架构价格it运维是什么意思
  • 个人可以做建站网站么网站建设陷阱
  • 开发公司工程部技术负责人职责宁波正规seo推广
  • 做网站不赚钱了ideo设计公司官网
  • 网站空间免费 优帮云wordpress搜索页分类
  • 做家装网站源码惠州seo计费
  • 做网站都需要年服务费吗东莞南城房价