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

圣辉友联网站建设南山网站seo

圣辉友联网站建设,南山网站seo,应用公园app制作教程,如何网站关键词优化快速排序 一、核心原理:分治策略 1、选一个基准元素, 2、两个指针往中间遍历,比基准值小的移到一边,比基准值大的移到另一边, 一轮遍历后,指针相交位置就是基准值应该放置的位置,同时数组也…

快速排序

一、核心原理:分治策略

1、选一个基准元素,

2、两个指针往中间遍历,比基准值小的移到一边,比基准值大的移到另一边,

一轮遍历后,指针相交位置就是基准值应该放置的位置,同时数组也以基准值分成左右两部分;

3、对两边各自进行递归快排,直到整个数组有序;

二、算法稳定性:不稳定

随机选取基准值,相同的元素可能会分为不同的子数组中;

如:(5,3,2,5,1),基准值为左边第一个5,大于等于基准值的放左边,小于的放右边;

一轮排序后第二个5就在第一个5左边,两个5之间的顺序发生了变化,即不稳定;

三、时间复杂度:平均O(nlogn),最坏O(n^2)

平均O(nlogn):每次对半的划分数组递归排序;最大递归树深度为log(n+1);

最坏O(n^2):基准元素偏向边缘元素,基准元素两边数组大小相差很大,最大递归树深度为n;

四、空间复杂度:平均O(logn),最坏O(n);

由于递归过程需要使用栈空间来保存每一层递归调用的信息,空间复杂度主要考虑递归树的深度;

五、C#代码示例:

using System;public class Algorithm_QuickSort
{static void Main(string[] args){Console.WriteLine("快速排序");int[] array = { 5, 4, 9, 8, 7, 6, 0, 1, 3, 2 };QuickSort(array, 0, array.Length-1);for (int i = 0; i < array.Length; i++)Console.WriteLine(array[i] + "");while(true){}//保持控制台显示}static void QuickSort(int[] array,int left,int right){if (left >= right) return;//left为基准,开始此轮排序int target = array[left];int i = left;int j = right;while (i<j){//移动右指针while (i < j && array[j]> target) j--;if (i < j){array[i] = array[j];i++;}//移动左指针while (i < j && array[i]<target) i++;if (i < j){array[j] = array[i];j--;}}array[i] = target;//目标值放到目标位置,左边都小,右边的都大//对左右两边分别进行快速排序QuickSort(array, left, i - 1);QuickSort(array, i + 1, right);}
}

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

相关文章:

  • 烟台小学网站建设网站 营销策略
  • 企业网站设计北京新乡网络网站建设
  • 建立视频网站北塘网站制作
  • 网站建设部署与发布答案html5 公众号 网站开发
  • asp 网站开发大良网站建设收费
  • 郑州网站制作培训学校网站流量如何盈利
  • 国外做评论的网站服装网站开发的意义
  • gta买办公室网站建设中网站页面维护
  • 外贸商城网站资质广州网络营销品牌
  • 杭州模板建站定制软件app开发公司有哪些
  • 俄语网站里做外贸shop软件ui设计教程
  • 南京模板建站头条关键词排名查询
  • c语言做网站后端wordpress oss ftp
  • 建站资源共享杭州网页设计工作室
  • 郑州网站建设网站建设最权威的做网站设计哪家好
  • 公司网站企业文化怎么做石家庄网站制作福州
  • 网站开发公司安心加盟七牛 wordpress插件
  • 模板网站建设的弊端asp网页制作教程
  • 网站设置超链接做个小网站 虚拟空间 买服务器
  • 博客的网站页面设计软件外包项目网站
  • 框架网站怎么做在哪里查网站是什么时候建站
  • 嘉兴路街道网站建设云建站模板
  • 网站做维恩图站长爱it
  • 绍兴高新区建设网站仁怀哪里可以做网站
  • 佛山规划建设局网站西安旅游攻略必去景点
  • 工程设计东莞网站建设技术支持西安seo王尘宇
  • 松岗做网站费用电子商务网站管理系统
  • 微信公众号内置手机网站软件开发培训有哪些
  • 拥有域名后怎么搭建网站大气装饰装修企业网站模版源码
  • 深圳建筑设计平台网站seo优化教程