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

深圳手机网站建设西安网站有哪些手续费

深圳手机网站建设,西安网站有哪些手续费,c .net网站开发实例,网站 备案 拍照【八大经典排序算法】堆排序 一、概述二、思路解读三、代码实现#xff08;大堆为例#xff09; 一、概述 堆排序是J.W.J. Williams于1964年提出的。他提出了一种利用堆的数据结构进行排序的算法#xff0c;并将其称为堆排序。堆排序是基于选择排序的一种改进#xff0c;通… 【八大经典排序算法】堆排序 一、概述二、思路解读三、代码实现大堆为例 一、概述 堆排序是J.W.J. Williams于1964年提出的。他提出了一种利用堆的数据结构进行排序的算法并将其称为堆排序。堆排序是基于选择排序的一种改进通过维护一个堆来选择最大或最小的元素并将其放置在数组的末尾然后对剩余的元素进行递归调用堆排序。 堆排序在其初期的版本中存在一些性能问题例如在构建堆的过程中需要频繁的调整堆的结构导致性能的下降。为了改进这个问题人们提出了一种称为“堆调整”的操作将调整堆的过程优化为一次遍历从而提高了性能。此外还有一些其他的改进方法如使用二叉堆来代替普通堆使用自底向上的构建堆的方法等。 堆排序作为一种经典的排序算法经过多年的发展与改进已经成为一种高效稳定的排序算法并在实际应用中得到广泛的应用。 二、思路解读 我们知道堆排序是一种基于堆数据结构的排序算法所以堆排序分为以下几步 ①构建大堆或小堆。这里我们从数组的最后一个数据的父节点开始采用向下调整算法来建堆。 向下调整算法有一个前提左右子树必须是一个堆才能调整。同时还要注意是调大堆还是小堆。 调小(大)堆堆顶元素和孩子中最小大的节点比较如果父节点大于小于较小的子节点子两者交换。不断向下调整到合适位置。调大堆和较大孩子比较 ②将堆中最大或最小的元素即堆顶元素与数组中最后一个元素交换位置然后将堆的大小减1。将交换后的堆顶元素进行向下调整直到堆再次满足堆性质。 ③ 重复上述步骤直到堆的大小为1此时整个数组就有序了 三、代码实现大堆为例 void AdjustDown(int* a, int n, int parent) {//建大堆int child parent * 2 1;while (child n){if (child 1 n a[child 1] a[child]){child;}if (a[parent] a[child]){Swap(a[parent], a[child]);parent child;child parent * 2 1;}else{break;}} }//堆排序 void HeapSort(int* a, int n) {//升序建大堆for (int i (n - 2) / 2; i 0; i--){AdjustDown(a, n, i);}int end n - 1;while (end 0){Swap(a[0], a[end]);AdjustDown(a, end, 0);end--;} }时间复杂度O(N*logN) 空间复杂度O(1)
http://www.dnsts.com.cn/news/249056.html

相关文章:

  • 双模网站开发做初中试卷的网站
  • 威海做网站的哪家好企业所得税什么时候交
  • 网站建设合同包含洛阳做网站汉狮网络
  • 静安网站建设公司网站平台建设经费预算
  • 潍坊专业做网站禁止WordPress转义
  • 12306的网站建设网站为什么做黄词骗流量
  • 南阳市建设局网站网站缺点
  • 网络营销论文选题杭州做网站优化
  • 做代码和网站网站文章页内链结构不好可以改吗
  • 建设工程检测中心网站qq登录网页版登录入口
  • 做网站用什么配置笔记本做游戏必备的几个网站
  • 精品网站制作公司公司网站建设的意义方案
  • 网站推广策划的策略郑州建设网站企业定制
  • 做影视网站该怎么发展外贸网站seo招聘
  • 阿里巴巴网站导航怎么做一个人看的免费视频高清直播
  • 免费搭建个人业务网站数据库网站 建设方案
  • 柳州企业网站开发平台公众号自己做电影网站
  • 安徽省住房和城乡建设部网站江西省企业登记网络服务平台官网
  • wordpress 显示评论数悟空建站seo服务
  • 通许网站建设红色php企业网站模板下载
  • 沈阳做网站比较好的公司做网站需要会的软件
  • 网站建设宣传图片哪些网站是单页面应用程序
  • 做外汇最好的财经网站织梦网站安装出现dir
  • 网站域名是什么qq代挂主站网站建设
  • 网站建设需要什么流程图大连网站建设联合企邦
  • 昆明企业网站的建设网站开发与设计实训报告
  • 哪个网站有高清图片做ppt淄博网站建设优化运营
  • 关于门户网站改版建设报告银行营销活动方案
  • 制作自己的网站代码吗彩票型网站建设
  • 合肥营销网站建设科技网站设计案例