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

阿里巴巴网站建设牛什么网站建设

阿里巴巴网站建设,牛什么网站建设,网站 没有备案 访问不了,阜沙网站建设快速排序(Quick Sort)使用分治法算法思想。快速排序介绍它的基本思想是: 选择一个基准数#xff0c;通过一趟排序将要排序的数据分割成独立的两部分#xff1b;其中一部分的所有数据都比另外一部分的所有数据都要小。然后#xff0c;再按此方法对这两部分数据分别进行快速排…快速排序(Quick Sort)使用分治法算法思想。快速排序介绍它的基本思想是: 选择一个基准数通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序整个排序过程可以递归进行以此达到整个数据变成有序序列。快速排序实现从数列中挑出一个基准值。将所有比基准值小的摆放在基准前面所有比基准值大的摆在基准的后面(相同的数可以到任一边)在这个分区退出之后该基准就处于数列的中间位置。递归地把基准值前面的子数列和基准值后面的子数列进行排序。下面以数列a{30,40,60,10,20,50}为例演示它的快速排序过程(如下图)。上图只是给出了第1趟快速排序的流程。在第1趟中设置xa[i]即x30。从右 -- 左查找小于x的数: 找到满足条件的数a[j]20此时j4然后将a[j]赋值a[i]此时i0接着从左往右遍历。从左 -- 右查找大于x的数: 找到满足条件的数a[i]40此时i1然后将a[i]赋值a[j]此时j4接着从右往左遍历。从右 -- 左查找小于x的数: 找到满足条件的数a[j]10此时j3然后将a[j]赋值a[i]此时i1接着从左往右遍历。从左 -- 右查找大于x的数: 找到满足条件的数a[i]60此时i2然后将a[i]赋值a[j]此时j3接着从右往左遍历。从右 -- 左查找小于x的数: 没有找到满足条件的数。当ij时停止查找然后将x赋值给a[i]。此趟遍历结束按照同样的方法对子数列进行递归遍历。最后得到有序数组快速排序时间复杂度和稳定性快速排序稳定性快速排序是不稳定的算法它不满足稳定算法的定义。算法稳定性 -- 假设在数列中存在a[i]a[j]若在排序之前a[i]在a[j]前面并且排序之后a[i]仍然在a[j]前面。则这个排序算法是稳定的快速排序时间复杂度快速排序的时间复杂度在最坏情况下是O(N2)平均的时间复杂度是O(N*lgN)。这句话很好理解: 假设被排序的数列中有N个数。遍历一次的时间复杂度是O(N)需要遍历多少次呢? 至少lg(N1)次最多N次。为什么最少是lg(N1)次? 快速排序是采用的分治法进行遍历的我们将它看作一棵二叉树它需要遍历的次数就是二叉树的深度而根据完全二叉树的定义它的深度至少是lg(N1)。因此快速排序的遍历次数最少是lg(N1)次。为什么最多是N次? 这个应该非常简单还是将快速排序看作一棵二叉树它的深度最大是N。因此快读排序的遍历次数最多是N次。代码实现/*** 快速排序: Java** author skywang* date 2014/03/11*/public class QuickSort {/** 快速排序** 参数说明: * a -- 待排序的数组* l -- 数组的左边界(例如从起始位置开始排序则l0)* r -- 数组的右边界(例如排序截至到数组末尾则ra.length-1)*/public static void quickSort(int[] a, int l, int r) {if (l r) {int i,j,x;i l;j r;x a[i];while (i j) {while(i j a[j] x)j--; // 从右向左找第一个小于x的数if(i j)a[i] a[j];while(i j a[i] x)i; // 从左向右找第一个大于x的数if(i j)a[j--] a[i];}a[i] x;quickSort(a, l, i-1); /* 递归调用 */quickSort(a, i1, r); /* 递归调用 */}}public static void main(String[] args) {int i;int a[] {30,40,60,10,20,50};System.out.printf(before sort:);for (i0; ia.length; i)System.out.printf(%d , a[i]);System.out.printf(\n);quickSort(a, 0, a.length-1);System.out.printf(after sort:);for (i0; ia.length; i)System.out.printf(%d , a[i]);System.out.printf(\n);} }
http://www.dnsts.com.cn/news/14539.html

相关文章:

  • 网站如何搬家网站模板 作业
  • 网站建设与管理就业岗位 方向微信营销网站模板
  • 宜春做网站公司建设wap手机网站
  • 可以做闪图的网站wordpress 仿站思路
  • 做暧小视频免费网站农产品网站建设主要工作
  • 阿米纳网站建设公司如何建设网站
  • 网站关键词怎么填写WordPress 评论框表情
  • 潮州企业网站建设网站建设教论坛
  • 怎么自己弄网站免费烟台专业网站建设公司
  • 网站建设课程设计要求自己建立网站怎么搞
  • 网站制作多少钱400经典网站设计作品
  • 湛江制作网站多少钱深圳比较大的贸易进口公司
  • 辽宁省建设执业继续教育协会网站关键词优化排名易下拉软件
  • pc网站做移动适配网站被k了怎么做
  • 公司网站站群是什么企业文化视频制作
  • 互联网网站有哪些wordpress主题更改首页
  • 淄博网站建设-中国互联局域网的常用技术是什么
  • 在线制作图片网站有哪些沧州南皮网站建设公司
  • 明年做哪个网站能致富苏州做网站找哪家好
  • 文化馆的网站怎么建设在线生成固定悬浮导航的工具网站
  • 网络平台运营是做什么的无锡关键词优化价格
  • 网站关键词排名下降seo主管招聘
  • 学做网站论坛好吗会员卡管理系统多少钱一套
  • 苍山县建设银行网站wordpress开发手册
  • 新网站不收录17做网店网站
  • 文山城乡建设部网站首页亚马逊周末可以视频认证吗
  • 淘宝客网站搭建企业网站建设费怎么账务处理
  • 国外做免费的视频网站有哪些wordpress用什么编辑器好
  • 做旅游网站公司网络科技有限公司和科技有限公司的区别
  • 无锡前洲行业网站建设合肥seo优化外包公司