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

无锡网站建设网福田网站设计公司哪家好

无锡网站建设网,福田网站设计公司哪家好,浙江嘉兴建设局网站,wordpress 被镜像“留在码头的船才最安全” “但亲爱的#xff0c;那不是造船的目的。 堆--插入heapInsert 原来有一个大根堆#xff0c;如图#xff1a; 现在要新插入一个数字50#xff0c;进行插入 流程#xff1a;和父亲相比#xff0c;如果比父亲大#xff0c;和父亲交换#xff… “留在码头的船才最安全” “但亲爱的那不是造船的目的。 堆--插入heapInsert 原来有一个大根堆如图 现在要新插入一个数字50进行插入 流程和父亲相比如果比父亲大和父亲交换直到不比父亲大或者来到0位置 void heapInsert(vectorint arr, int i) {while (arr[i]  arr[(i - 1) / 2]) {swap(arr[i], arr[(i - 1) / 2]);i  (i - 1) / 2;} }插入50 50比13大交换 50比20大交换 50比40大交换 调整成功 由于完全二叉树有n个节点会有logn深度因此插入的时间复杂度是O(logn) 堆调整 heapify 还是上面的那个例子想把0位置的40改为4此时破坏了大根堆的性质如何调整 假设当前下标为i如果i位置有左孩子和右孩子则左孩子的下标为li*21右孩子为l1 左右孩子比较出最大的孩子 最大的孩子和当前数字比较如果孩子大那么交换如果是自己大那么不动 4和20交换 4和13交换 堆调整完成时间复杂度O(logn) void heapify(vectorint arr, int i, int size) {//可能没有左孩子int l  i * 2  1;//左孩子下标while (l  size) {//有左孩子//右孩子l1//评选左右孩子的最强的孩子下标是什么//1次比较int best  l  1  size  arr[l  1]  arr[l] ? l  1 : l;//上面已经选最强的孩子接下来当前的数字和最强的孩子之前最强下标是谁//2次比较best  arr[best]  arr[i] ? best : i;if (best  i) {break;//最强的是自己不用向下调整了}//最强孩子比自己更强swap(arr[best], arr[i]);i  best;l  i * 2  1;} } 堆排序 从顶到底建立堆的时间复杂度是O(nlogn) 大数归为的时间复杂度是O(nlogn) 因此总时间复杂度O(nlogn) void heapInsert(vectorint arr, int i) {while (arr[i]  arr[(i - 1) / 2]) {swap(arr[i], arr[(i - 1) / 2]);i  (i - 1) / 2;} } void heapify(vectorint arr, int i, int size) {//可能没有左孩子int l  i * 2  1;//左孩子下标while (l  size) {//有左孩子//右孩子l1//评选左右孩子的最强的孩子下标是什么//1次比较int best  l  1  size  arr[l  1]  arr[l] ? l  1 : l;//上面已经选最强的孩子接下来当前的数字和最强的孩子之前最强下标是谁//2次比较best  arr[best]  arr[i] ? best : i;if (best  i) {break;//最强的是自己不用向下调整了}//最强孩子比自己更强swap(arr[best], arr[i]);i  best;l  i * 2  1;} }void heapsort1(vectorint arr) {//1.建堆int n  arr.size();for (int i  0;i  n;i) {heapInsert(arr,i);}//2.大数归位int size  n;while (size  1) {swap(arr[0], arr[--size]);//0位置的数字和最后一个交换heapify(arr, 0, size);//再调整0位置这个数字} }从底到顶建堆时间复杂度是O(n),会比自顶向底快一点但总的时间复杂度不变都是O(nlogn) 大数归为的时间复杂度是O(nlogn) 因此总时间复杂度O(nlogn) void heapify(vectorint arr, int i, int size) {//可能没有左孩子int l  i * 2  1;//左孩子下标while (l  size) {//有左孩子//右孩子l1//评选左右孩子的最强的孩子下标是什么//1次比较int best  l  1  size  arr[l  1]  arr[l] ? l  1 : l;//上面已经选最强的孩子接下来当前的数字和最强的孩子之前最强下标是谁//2次比较best  arr[best]  arr[i] ? best : i;if (best  i) {break;//最强的是自己不用向下调整了}//最强孩子比自己更强swap(arr[best], arr[i]);i  best;l  i * 2  1;} }void heapsort2(vectorint arr) {int n  arr.size();for (int i  n - 1;i  0;i--) {heapify(arr, i, n);}//2.大数归位和heapsort1一样的代码int size  n;while (size  1) {swap(arr[0], arr[--size]);heapify(arr, 0, size);} }
http://www.hkea.cn/news/14445467/

相关文章:

  • 自己做的网站怎样才有网址浏览微博营销网站源码
  • 懒人凳子网站建设策划书一个免费的网站
  • 计算网站制作教程手机开源网站代码
  • 高端网站建设万维科技临沂网站建设那家好
  • 湖南网站开发公司电话设计对网站的重要性
  • 前十名少儿编程机构长沙seo网络营销推广
  • 网站上面的水印怎么做的做网站赚钱好难
  • 音乐培训如何做网站宣传河南网络洛阳网站建设河南网站建设
  • 百度网站推广关键词怎么查wordpress默认根目录
  • 有哪些程序做的网站最好用的导航软件是哪一个
  • 海口网站建设维护公司企业网站制作需要多少钱
  • 网站中的文字滑动怎么做的大连哪有做网站的
  • 包头有没有专业做淘宝网站的贵州住建设局官方网站
  • 网站策划制作优秀网页设计排版
  • 网站怎么让谷歌收录网店运营都要做什么
  • 优秀网站例子广州市网站建设价格
  • h5互动网站建设wordpress 720云
  • 酒店网站建设方案策划方案越秀区网站建设
  • 做网站首页需要什么资料网站免费源码不用下载
  • 新沂市网站建设莱芜在线论坛最新消息
  • 信丰县建设局网站做外贸网站需要什么
  • 湛江专业网站建设怎么做网络规划设计师月薪
  • 广州南沙建设和交通局网站建站系统网站建设
  • 有经验的武进网站建设化妆品企业网站建设的策划方案
  • 哪些园林网站可以做外链推广公司游戏
  • 社交网站怎么制作网站建设交流平台
  • 惠州市住房和城乡规划建设局官方网站网站开发有哪些要求
  • 威海seo公司免费建站网站 seo
  • 红色简约的手机社区类网站html5响应式模板下载企业做网站的公司有哪些
  • 企业站群cms专业门户网站建设