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

网站设计与制作说明百度推广退款投诉

网站设计与制作说明,百度推广退款投诉,潍坊建设网站的公司,网站建设是如何寻找客户的快速排序,顾名思义,快速排序是一种速度非常快的一种排序算法 平均时间复杂度为O(),最坏时间复杂度为O()数据量较大时,优势非常明显属于不稳定排序 1.算法描述 每一轮排序选择一个基准点(pivot)进行分区 让小于基准点…

        快速排序,顾名思义,快速排序是一种速度非常快的一种排序算法

  • 平均时间复杂度为O(nlog_{2}n),最坏时间复杂度为O(n^{^{2}})
  • 数据量较大时,优势非常明显
  • 属于不稳定排序

1.算法描述

  1. 每一轮排序选择一个基准点(pivot)进行分区

    1. 让小于基准点的元素的进入一个分区,大于基准点的元素的进入另一个分区

    2. 当分区完成时,基准点元素的位置就是其最终位置

  2. 在子分区内重复以上过程,直至子分区元素个数少于等于 1,这体现的是分而治之的思想 (divide-and-conquer)

  3. 从以上描述可以看出,一个关键在于分区算法,常见的有洛穆托分区方案、双边循环分区方案、霍尔分区方案

2.单边循环快排(lomuto 洛穆托分区方案)

  1. 选择最右元素作为基准点元素

  2. j 指针负责找到比基准点小的元素,一旦找到则与 i 进行交换

  3. i 指针维护小于基准点元素的边界,也是每次交换的目标索引

  4. 最后基准点与 i 交换,i 即为分区位置

代码实现

    public static void main(String[] args) {int[] a = {5, 3, 7, 2, 9, 8, 1, 4};System.out.println(Arrays.toString(a));quick(a, 0, a.length - 1);}public static void quick(int[] a, int l, int h) {if (l >= h) {return;}int p = partition(a, l, h); // p 索引值quick(a, l, p - 1); // 左边分区的范围确定quick(a, p + 1, h); // 左边分区的范围确定}private static int partition(int[] a, int l, int h) {int pv = a[h]; // 基准点元素int i = l;for (int j = l; j < h; j++) {if (a[j] < pv) {if (i != j) {swap(a, i, j);}i++;}}if (i != h) {swap(a, h, i);}System.out.println(Arrays.toString(a) + " i=" + i);// 返回值代表了基准点元素所在的正确索引,用它确定下一轮分区的边界return i;}

3.双边循环快排(不完全等价于 hoare 霍尔分区方案)

  1. 选择最左元素作为基准点元素

  2. j 指针负责从右向左找比基准点小的元素,i 指针负责从左向右找比基准点大的元素,一旦找到二者交换,直至 i,j 相交

  3. 最后基准点与 i(此时 i 与 j 相等)交换,i 即为分区位置

要点

  1. 基准点在左边,并且要先 j 后 i

  2. while( i < j && a[j] > pv ) j--

  3. while ( i < j && a[i] <= pv ) i++

代码实现

    public static void main(String[] args) {int[] a = {5, 3, 7, 2, 9, 8, 1, 4};System.out.println(Arrays.toString(a));quick(a, 0, a.length - 1);}private static void quick(int[] a, int l, int h) {if (l >= h) {return;}int p = partition(a, l, h);quick(a, l, p - 1);quick(a, p + 1, h);}private static int partition(int[] a, int l, int h) {int pv = a[l];int i = l;int j = h;while (i < j) {// j 从右找小的while (i < j && a[j] > pv) {j--;}// i 从左找大的while (i < j && a[i] <= pv) {i++;}swap(a, i, j);}swap(a, l, j);System.out.println(Arrays.toString(a) + " j=" + j);return j;}

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

相关文章:

  • 整页图片广告网站源码站长工具seo下载
  • 广州专门做网站平台推广方案
  • 一个手机网站北京互联网公司排名
  • 企业网站seo哪里好技能培训班有哪些课程
  • host绑定网站seo综合查询软件排名
  • 网站建设 网络推广seo搜索优化是什么意思
  • 网站 不公安备案吗收录查询 站长工具
  • 广东微信网站制作价格网络优化大师手机版
  • 创恒建设有限公司网站广告营销是做什么的
  • 个人网站做影视不屏蔽的国外搜索引擎
  • wix怎么做网站教程百度指数专业版app
  • 网站建设公司业务培训上海牛巨微网络科技有限公司
  • 海口企业模板建站推广软件
  • 网站做404好处整站优化加盟
  • 英语可以做推广的亲子类网站专业seo排名优化费用
  • 做党建网站百度快照怎么删除
  • 网页设计培训学多久关键词排名seo
  • 北京的网站建设公司济南做seo排名
  • 南宁市视点网络信息有限公司网络优化报告
  • 空间租用 网站开发搜索引擎的优化方法
  • 建设什么网站可以赚钱武汉十大技能培训机构
  • 温州微网站制作多少钱网络培训班
  • 江阴网站建设推广seo计费系统开发
  • 安徽芜湖网站建设产品推销
  • 政府网站建设的保障国际时事新闻
  • 中国做的比较好的网站千锋教育培训机构学费
  • 网站建设 中企动力南通技能培训学校
  • 管理一个网站的后台怎么做百度收录提交申请网站
  • seo综合苏州seo关键词优化报价
  • 酒店网站设计方案网站优化排名易下拉霸屏