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

一键网站制作机关网站建设建议

一键网站制作,机关网站建设建议,电子商务能从事什么工作,wordpress页面模板获取内容一、建堆的时间复杂度问题 1、除了向上调整建堆#xff0c;我们还可以向下调整建堆。不能在根上直接开始向下调整。这里的条件就是左右子树必须都是大堆或者小堆。我们可以倒着往前走#xff0c;可以从最后一个叶子开始调整。但是从叶子开始调整没有意义。所以我们可以从倒数…一、建堆的时间复杂度问题 1、除了向上调整建堆我们还可以向下调整建堆。不能在根上直接开始向下调整。这里的条件就是左右子树必须都是大堆或者小堆。我们可以倒着往前走可以从最后一个叶子开始调整。但是从叶子开始调整没有意义。所以我们可以从倒数的第一个的非叶子开始调整。也就是最后一个叶子的父亲节点开始向下调整建堆。一层一层向上进行向下调整建堆把大的数字往上调小的数字往下沉。那么问题来了怎么找到最后一个叶子的父亲节点。 我们先可以求出最后一个孩子的下标然后应用公式 parent child-1/ 2 算出最后一个孩子的父亲节点的下标。 void HeapSort(int* a,int n) {//首先建立大堆/*for (int i 1; i n; i){UpAdjust(a, i);}*///向下调整建堆的效率要比向上调整建堆的效率要高for (int i (n - 1 - 1) / 2; i 0; i--){DownAdjust(a, i, n);}//交换堆头和堆尾的数字选出最大的数字放到堆尾//然后向下调整int end n - 1;while (end 0){Swap(a[end], a[0]);DownAdjust(a, 0, end);end--;} } 2、向下调整和向上调整建堆的时间复杂度 向下调整倒数第二层有2^(h-2) 个节点 建堆的调整的次数 错位相减法算出时间复杂度 每层节点个数 × 这一层最坏向下调整多少次 最后的结果为 、 所以时间复杂度为O(N)  T(N) N - h。 向上调整 再次使用上面的错位相减法 所以时间复杂度为O(NlogN)。 因为向下调整的过程中节点多的调整的次数少节点少的调整的次数多。向上调整的过程中节点少的调整的次数少节点多的调整的次数多 排序调堆的时间复杂度也是O(NlogN)。 TOPK 问题 1、建N个数的大堆再Pop k次就可以了。 2、加入N很大呢N是100亿呢 K 50 1G大约十亿字节。所以是40G左右 内存中存不下数据是在磁盘文件中。 我们可以用100亿个数中的K个数建立一个小堆。遍历剩下的数据如果这个数据比堆顶的数据大就替代它进堆向下调整最后这个小堆的数据就是最大的前K个。 void HeapTopK(int* a, int n, int k) {//首先向下调整建堆int* topk (int*)malloc(sizeof(int) * k);//从a数组里读for (int i 0; i k; i){topk[i] a[i];}//建立小堆for (int i (k - 1 - 1) / 2; i 0; i--){DownAdjust(topk, i, k);}//遍历剩下的数如果大于堆顶的数据我们就让它进堆并向下调整for (int i k 1; i n; i){if (a[i] topk[0]){topk[0] a[i];DownAdjust(topk, 0, k);}} }
http://www.zqtcl.cn/news/645161/

相关文章:

  • 快站公众号工具台州网站制作系统分析怎么写
  • 品牌网站制作方案如何写推广软文
  • o2o营销seo薪酬如何
  • 网站开发公司 网站空间推广网站制作
  • 鞍山网站制作小程序WordPress网盘下载插件
  • 保山市建设厅官方网站郑州建设信息网站
  • clh网站建设公司h5网站源代码
  • 做装修的网站怎么做好服装市场调网站建设的目的
  • 佛山网站建站电子工程网名又知道你是做工程
  • 桐乡网站二次开发商城购物网站建设
  • 大连微网站制作公司网页多钱
  • 郑州网站托管助企网络营销推广合作
  • 做电商网站用什么软件企业网站建设方案范本
  • o2o商城网站搭建潍坊定制网站搭建
  • 网站建设费用说明青岛网站建设方案公司
  • 佛山市建设企业网站服务机构优化seo是什么
  • 仿70网站分类目录源码市场营销策划ppt免费模板
  • 广东圆心科技网站开发网站模板设计网页程序代码
  • 网站平台定制开发一级a做爰网站下载
  • 网站如何做流媒体wordpress导出软件
  • 电商网站流程图esp8266做网站
  • 细胞医疗 网站模版免费网址软件
  • app地推网企业seo解决方案
  • php网站转移网吧手机网站模版
  • 北京建设教育网站今天的国内新闻
  • 江苏省建设银行网站天心区网站建设公司
  • 网站分享设计网站备案收费么
  • 手机网站专题关于asp sql网站开发的书籍
  • 网站建设属于什么领域小米发布会在哪里看
  • 免费空间访客领取网站提高网站互动性