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

网站根目录文件 seo网页升级访问紧急通知狼

网站根目录文件 seo,网页升级访问紧急通知狼,室内装修设计图片,ppt做杂志模板下载网站快速排序属于交换排序。 算法思想: 快速排序的核心思想是分治法,通过选择一个基准元素(pivot),将序列分为两部分:小于基准的部分和大于基准的部分。然后递归地对这两部分进行排序。 在数组或者顺序存储的序列中,可以…

快速排序属于交换排序。

算法思想:

快速排序的核心思想是分治法,通过选择一个基准元素(pivot),将序列分为两部分:小于基准的部分和大于基准的部分。然后递归地对这两部分进行排序。

在数组或者顺序存储的序列中,可以通过随机访问快速找到任意位置的元素,并通过交换操作高效地完成分区(partition)。然而,链表是顺序访问的数据结构,无法像数组一样高效地支持随机访问和交换操作

在待排序表[1...n]中任取一个元素pivot作为枢轴(或基准,通常取首元素),通过一趟排序将待排序表划分为独立的两部分L[1...k-1]和L[k+1...n],使得L[1...k-1]中的所有元素小于pivot,L[k+1...n]中的所有元素大于等于pivot,则pivot放在了其最终位置L(k)上,这个过程称为一次“划分”。然后分别递归地对两个子表重复上述过程,直至每部分内只有一个元素或空为止,即所有元素放在了其最终位置上。

//分区函数,返回枢轴元素的最终位置
int partition(int A[],int left,int right){if(left>=right) return left;//先设置随机数种子,确保每次运行程序时生成不同的随机数序列srand(time(NULL));//在当前序列中随机选一个元素作为枢轴int random_pos = left + rand()%(right - left +1);//将随机选择的枢轴元素交换到数组的第一个位置int temp = A[random_pos];A[random_pos] = A[left];A[left] = temp;int pivot = A[left];//用新的第一个元素作为枢轴while(left<right){  //用left和right搜索枢轴元素的最终位置//从右向左找到第一个小于等于枢轴的元素while(left<right && A[right]>pivot) right--;A[left] = A[right];//从左向右找到第一个大于枢轴的元素while(left<right && A[left]<=pivot) left++;A[right] = A[left];}A[left] = pivot;//把枢轴元素存放到最终位置return left;    //返回存放枢轴元素的最终位置
}void quick_sort(int A[],int left,int right){if(left>=right) return;//递归结束int pivot_position = partition(A,left,right);quick_sort(A,left,pivot_position-1);quick_sort(A,pivot_position+1,right);
}

总结

算法表现主要取决于递归深度,若每次“划分”越均匀,则递归深度越低。“划分”越不均匀,递归深度越深。

快速排序性质
最好时间复杂度O(nlogn),每次划分很平均
最坏时间复杂度O(n^2),原本正序或逆序
平均时间复杂度O(nlogn)
最好空间复杂度O(logn)每次划分很平均
最坏空间复杂度O(n)
稳定性不稳定
适用性仅适用于顺序表,不适用于链表
http://www.dtcms.com/a/590497.html

相关文章:

  • 家装公司加盟哪个公司好建网站做优化
  • 网站模板库免费免费网站源码下载器
  • 用dedecms 做门户网站汽车o2o网站建设
  • 网站开发的需求分析论文高级又小众的公众号
  • 网站引导页的作用地宝网南昌租房信息
  • ModelForm结合Bootstrap实现拖拽文件上传
  • 网站平台建设的作用做图表的网站
  • 网站建设免费学习专业邯郸网站建设
  • 门户网站开发过程视频淘宝联盟怎么推广赚钱
  • 网站里的地图定位怎么做怎样建网站最快
  • Qt 入门简洁笔记:界面优化(QSS样式表与绘图系统)
  • 网站建设考虑事项线上宣传方式
  • 易语言可以做网站后端做网站的联系方式
  • 做网批有专门的网站吗?商洛市城乡建设局网站
  • 做游戏网站有几个要素石家庄菜谱设计公司
  • 微信公众号小说代理和网站结合怎么做国外优秀设计公司网站
  • 山西网站开发二次开发轩与巧之歌wordpress
  • 网站制作温州微信小商店如何推广
  • 徐州哪里做网站好建站服务外贸
  • 054_小驰私房菜_Camx i2c读写相关备忘
  • 强化学习基本概念
  • JS宏连接数据库:QueryTables的成员
  • 建站节安达市建设局网站
  • 快速搭建网站后天台百度智能建站适合优化吗
  • 重庆市建设工程信息网官方网站php7 mysql wordpress
  • 论坛门户网站建设运营费用广州网络在线推广
  • 巩义网站建设方案报价怎么做一个购物网站
  • P4913 【深基16.例3】二叉树深度
  • 广西两学一做网站可以用手机建设网站吗
  • ToWJQ:按钮控件操作指南