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

网站建设怎么报价表平面设计有哪些公司

网站建设怎么报价表,平面设计有哪些公司,网站开发需要用到的相关技术,wordpress 响应式菜单C STL sort函数的底层实现 sort函数的底层用到的是内省式排序以及插入排序,内省排序首先从快速排序开始,当递归深度超过一定深度(深度为排序元素数量的对数值)后转为堆排序。 先来回顾一下以上提到的3中排序方法: 快…

C++ STL sort函数的底层实现

sort函数的底层用到的是内省式排序以及插入排序,内省排序首先从快速排序开始,当递归深度超过一定深度(深度为排序元素数量的对数值)后转为堆排序。

先来回顾一下以上提到的3中排序方法:

  1. 快速排序:先选一个基准值(一般为首值),将比它大的数置于其右侧,将比它小的数置于它左侧,那么这个基准值所在的位置定是整个数组的有序位。然后递归该基准左右两子数组。算法复杂度为nlogn;
  2. 堆排序:将数组建立成大顶堆,重复从堆顶取出数值最大的结点(把根结点和最后一个结点交换,把交换后的最后一个结点移出堆,移出的这个数值为未排序数组的最后),并让残余的堆维持大顶堆的性质。时间复杂度为nlogn;
  3. 插入排序:对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。时间复杂度为n2;

其中先讲下快排和堆排,快排的平均复杂度为nlogn,但是它的复杂度是根据基准值来决定的,基准值选择的不好,最坏的复杂度会达到n2,而堆排序的复杂度是一定的为n*logn,那为什么不直接使用堆排序呢,是因为在将堆顶值与最后一个结点值交换并移除最后一个值后,在重新建堆的过程中,交换到堆顶的值显然比每个结点要小,但还是要经过对比判断,这个判断其实是多余的,因此这是它相比快排较慢的原因。

于是,内省式排序结合了快排和堆排的特点,当快速排序到大一定深度(2logn)时,采用堆排序,以维持n*logn的复杂度。

在sort函数中,内省排序过程中子数组长度小于16时,采用的是插入排序,因为当数组长度较短时,就是数组已经大致排序过了,对大致有序的数组(即逆序对不多了)用插入排序的算法复杂度会很小,可以想象成理牌的过程。

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

相关文章:

  • 创建虚拟网站做点击公司做网站的钱网银转账用途
  • 宁波江东区网站建设工作室注册流程及需要的材料
  • 银行官方网站陕西手机网站建设
  • 做网站定金交多少合适汇源企业网络营销策划
  • 成品网站网站建设代码介绍
  • 制作网站教学设计山西网站建设公司哪家好
  • 小说网站怎么建设用手机制作自己的网站
  • 意大利做包招工的网站嘉兴市建设官方网站
  • 医疗网站建设管理电子商务网站建设自服务器
  • 网站建设的中期报告备案密码如何登录添加网站
  • 手机网站 怎么开发设计网页页面
  • 做网站那个公司好php网站开发书籍
  • 进一步加强网站建设中小企业 网站建设
  • 搭建网站seo网站怎么做搜索引擎才能收录
  • 国外做游戏评测的视频网站如何推广网上国网
  • 化妆品网站建设需求问卷调查大学国际化网站建设
  • 营销型网站设计网站安徽省网站备案快吗
  • 万网 网站 流程国企央企招聘2022
  • 网站功能建设特点南昌市做网站公司
  • 网站系统设计目标wordpress添加表
  • 义乌网站建设电话乐享校园网站建设策划书
  • 深圳公司免费网站建设百度推广公司怎么代理到的
  • 网站开发html工具智能免费建站
  • 广西网站电脑免费的wordpress
  • jsp网站开发教程网站怎样做优化网页
  • wap网站方案一二三四视频社区在线
  • 南京淘宝网站设计公司校园网二手书交易网站建设
  • 深圳好的网站建设公司排名线上交易商城平台开发
  • 服务好的赣州网站建设竹子建站邀请码
  • wordpress如何才能自己登陆进入自己的网站 进行修改呢简述seo的概念