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

网站可以自己做吗2020年百度搜索排名

网站可以自己做吗,2020年百度搜索排名,公共服务标准化试点,杭州商业空间设计公司1. 简介 堆排序利用的是堆序性,最小堆进行从大到小的排序。 先建初堆,保证堆序性。将堆顶元素与最后一个元素交换, 就将当前堆中的最大(小)的元素放到了最后后。堆大小递减,再重新调整堆选出第二大,重复上述过程。 2…

1. 简介

堆排序利用的是堆序性,最小堆进行从大到小的排序。
先建初堆,保证堆序性。将堆顶元素与最后一个元素交换,
就将当前堆中的最大(小)的元素放到了最后后。堆大小递减,再重新调整堆选出第二大,重复上述过程。

2. 实现

2.1 建初堆

由于堆具有递归性,即以根节点的所有子树都是一个堆。

我们需要从下往上调整堆。即从完全二叉树的最大非叶子节点开始调整堆,直到根节点。

这样才能保证堆序性。

对于数组3,4,1,2,5 ,建初堆的过程。

在这里插入图片描述

  • 代码
template<typename T>
void adj_heap(std::vector<T> &arr,std::size_t rt, std::size_t bd) {T v = arr[rt];std::size_t child;std::size_t i;for (i = rt; i < bd; i = child) {child = i * 2 + 1;if ( child + 1 < bd && arr[child + 1] < arr[child])++child;if (child >= bd || v <= arr[child] ) {break;}else{arr[i] = arr[child];}}arr[i] = v;
}template<typename T>
void make_orig_heap(std::vector<T> &arr, std::size_t sz) {for (std::size_t i = sz/2 - 1; i != -1; --i){adj_heap(arr, i, sz);}
}
2.2 堆排序

建立初始堆后,我们就确定了最小(大)的元素。

将该元素与最后位置交换,并将堆大小 - 1。

我们就又得到了一个未调整的堆。我们重复调整堆和交换元素的过程,直到最后堆大小为1。

所以,最小堆进行排序形成的序列是从大到小。
过程如图
在这里插入图片描述

  • 代码
template<typename T>
void heap_sort(std::vector<T> &arr, std::size_t sz) {if ( 0 == sz)return ;make_orig_heap(arr, sz);for (std::size_t i = sz - 1; i > 0; --i) {T last = arr[i];arr[i] = arr[0];arr[0] = last;adj_heap(arr, 0, i);}}
http://www.khdw.cn/news/61214.html

相关文章:

  • 服装网站公司网站百度搜索大数据
  • 网络自动推广软件杭州seo排名优化外包
  • 北京集团 网站建设长春网站推广公司
  • 人力资源和社会保障部全国人才流动中心网站关键词在线优化
  • 网站seo快速排名软件杭州seo公司排名
  • wordpress在线建站软文发布的平台与板块
  • 电商网站建设策划书模板企业品牌营销推广
  • 怎么做网络棋牌网站搜索引擎关键词怎么选
  • 现在的那家做网站比较好一些呢seo首页关键词优化
  • 江西 网站制作网络广告投放平台
  • 武进区建设局网站搜索引擎大全网址
  • 响应式政府网站互联网电商平台
  • 网上做博彩网站代理赚钱吗网络营销的策略包括
  • 响应式网站推广seo站
  • 素材网站模板国外网站建设
  • 如何做专业的模板下载网站seo站内优化站外优化
  • 想开个网站做外贸怎么做沈阳关键词快照优化
  • 电子商务网站搭建方案营销推广方式有哪些
  • 不让在建设门户网站站长工具永久
  • 网站开发中职责上海seo公司哪个靠谱
  • 建设苏州旅游网站的方案策划书希爱力跟万艾可哪个猛
  • 建设部网站官网造价工程师孙思新南昌seo教程
  • 南通网站建设报价武汉楼市最新消息
  • 做商城网站应该用什么程序福建seo排名
  • 湖北建设信息网站搜索引擎排名2020
  • 网站改版后的内容seo查询系统源码
  • 乐安网站建设合肥网
  • 加强政民互动 建设交流型政府门户网站株洲最新今日头条
  • 动态域名解析 免费厦门百度seo排名
  • 网站建设文件夹结构宁波网络推广平台