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

wordpress全站301wordpress 大前端2.0

wordpress全站301,wordpress 大前端2.0,wordpress 短信平台,中国交通建设集团创建堆的方式有两种#xff0c;一种是一边插入结点#xff0c;一边调用堆的插入方法调整堆#xff0c;这样的时间复杂度就是 O(NlogN)#xff0c;而第二种方式就把时间复杂度缩减到了O(N)#xff0c;它是采用先把结点插入好了#xff0c;然后再来调整堆#xff0c;并不是…创建堆的方式有两种一种是一边插入结点一边调用堆的插入方法调整堆这样的时间复杂度就是 O(NlogN)而第二种方式就把时间复杂度缩减到了O(N)它是采用先把结点插入好了然后再来调整堆并不是一边插入一边调整。 但是从代码层面来看可能会误以为第二种方式的时间复杂度也是O(NlogN)但第二种方式是从下往上建立堆。举个例子如下所示假设堆中存在了N个节点(满足堆的性质)采用第一种方式再创建N个结点那么插入第一个数时就调用了时间复杂度为logN的插入方法插入N个数后时间复杂度为logN。 让我们看看第二种方式会如何 先把N个结点创建到树中把这N个结点具体化我们看到在调整树时第一次是以倒数第二层的结点作为根节点然后来调整这棵子树也就是它的时间复杂度不再是logN了因为远远没到N个结点远远没到整颗树的高度它的时间复杂度应该如下判断在最坏情况下树中每个结点会一直向下查找一直到底假设树高为h,则倒数第二层会向下查找1次倒数第三层会向下查找2次… 倒数第二层结点数为2(h-2),倒数第三层2h-3… JAVA代码实现 import java.util.ArrayList; import java.util.Arrays;//必须传入一个Comparable的实现类因为后续会用到类的内部比较器 public class HeapE extends Comparable {Comparable? super E[] list;//堆--存储Comparable的实现类int size; //堆长度int capacity;//堆容量public Heap(int capacity){this.capacitycapacity;size0;listnew Comparable[capacity1];}//初始化public void Init(E value,int index){if(index0){ list[index] value;size;}elsenew RuntimeException(下标越界);}//创建堆public void Build_Max_Heap(){for(int isize/2;i0;i--){int child0;int parent i;Comparable par_X (E) list[i];for(;parent*2 size;parentchild){childparent*2;if(child1size list[child].compareTo((E) list[child1]) -1)child;if(par_X.compareTo((E) list[child])1)break;list[parent]list[child];}list[parent](E) par_X;}}//插入堆public void Insert(E node){list[size]node;for(int isize;i/20;ii/2){if(i1 || list[i/2].compareTo((E)node)1){list[i]node;break;}else{list[i]list[i/2];}}}//删除堆public E Delete(){Comparable DeleteXlist[1];Comparable Xlist[size--];int child1;int parent1;for(;parent*2size;parentchild){childparent*2;if(child1size list[child].compareTo((E)list[child1])-1 )child;if(X.compareTo((E)list[child])-1)list[parent]list[child];elsebreak;}list[parent]X;return (E)DeleteX;}//测试数据public static void main(String[] args) {HeapSSS heap new Heap(10);heap.Init(new SSS(1),1);heap.Init(new SSS(2),2);heap.Init(new SSS(3),3);heap.Init(new SSS(4),4);heap.Init(new SSS(5),5);heap.Insert(new SSS(6));heap.Build_Max_Heap();heap.Delete();for(int i1;iheap.size;i)System.out.println(heap.list[i]);} } class SSS implements Comparable {int X;Overridepublic int compareTo(Object o) {SSS s2(SSS) o;if(Xs2.X)return 1;if(Xs2.X)return -1;else return 0;}public SSS(int X){this.XX;}Overridepublic String toString() {return SSS{ X X };} }
http://www.pierceye.com/news/138396/

相关文章:

  • 域名注册网站建设方案网站建设一般多少钱
  • 宁波网站推广找哪家重庆市建设工程信息网官网怎么查看
  • 大创意网站wordpress影视主题
  • 简约 网站模板电商网站推广方法
  • 做网站一月工资深圳建站推广公司
  • 免费建设商城网站网络商城应该如何推广
  • 做美食直播哪个网站最好html5期末大作业个人网站制作
  • 做网站和seo流程网址升级中
  • 自己做众筹网站怎样做才能发布你的网站
  • 陕西省建设厅网站查询恶意点击软件有哪些
  • 天河高端网站建设云南建设工程招投标信息网
  • iis 网站制作凡科互动小游戏怎么刷高分
  • 接网站开发项目如何做网站背景
  • 重庆奉节网站建设定制vx怎么弄
  • 烟台建网站公司哪家好辽源做网站的公司
  • 建设企业网站地址网站空间 虚拟主机
  • h5网站模板免费下载网页源码提取工具
  • 网站设计和网页设计建网站必备软件
  • 中国建设银行上海市分行网站音乐网站开发可行性分析
  • 如何用天地图做网站做面包有哪些网站知乎
  • 买了域名之后怎么建设网站做网站一年赚一千万
  • 跟网站开发公司签合同主要要点个人网站logo需要备案吗
  • 免费询盘网站自我介绍ppt模板
  • 中国会议营销网站怎么做找优惠券的网站
  • 做网站的那些事wordpress改写
  • 仿造整个网站呼市网站建设公司
  • 网站被黑客入侵怎么办企业文化墙设计网站推荐
  • 建设网站的群婚礼婚庆网站建设需求分析
  • 全椒县城乡建设局网站网站怎么做营销策划
  • 响应式网站制作流程河北企业建网站