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

自建网站如何备案谷歌网站入口

自建网站如何备案,谷歌网站入口,网站后台登录地址怎么安全,湛江网站定制题目描述 实现思路 要实现一个堆#xff0c;我们首先要了解堆的概念。 堆是一种完全二叉树#xff0c;分为大顶堆和小顶堆。 大顶堆#xff1a;每个节点的值都大于或等于其子节点的值。 小顶堆#xff1a;每个节点的值都小于或等于其子节点的值。 完全二叉树#xff…题目描述 实现思路 要实现一个堆我们首先要了解堆的概念。 堆是一种完全二叉树分为大顶堆和小顶堆。 大顶堆每个节点的值都大于或等于其子节点的值。 小顶堆每个节点的值都小于或等于其子节点的值。 完全二叉树在一颗二叉树中若除最后一层外的其余层都是满的并且最后一层要么是满的要么在右边缺少连续若干节点。 回到原题实现一个大顶堆使用数组作为底层数据结构并提供以下操作 添加元素add向堆中添加一个元素。 删除堆顶元素poll删除并返回堆顶元素即最大值。 首先我们需要明白一个事 jdk提供的堆结构也就是PriorityQueue优先级队列删除堆顶元素remove(),poll()会进行下 沉操作向最后插入元素(add(),offer())会进行上浮操作因为有这两个操作所以在堆中删除 堆顶元素向最后插入元素不会改变堆结构。 但是向堆的中间进行插入或修改就会改变堆结构不会自己调整 所以我们实现堆也得需要实现上浮和下沉操作 并且在上浮和下沉过程中还需要交换元素所以我们还需要实现一个数组中元素交换的函数 代码实现 class MaxHeap{//存储堆中元素的数组int[] heap;//堆中元素的个数int size;//堆的初始容量超出容量add函数里2倍扩容int capacity;public MaxHeap(int capacity) {this.capacity capacity;heap new int[capacity];size 0;}public void add(int value) {//判断是否需要扩容if(size capacity) {capacity capacity * 2;int[] newHeap new int[capacity];System.arraycopy(heap,0,newHeap,0,size);heap newHeap;}heap[size] value;size;heapifyUp();}//上浮操作维持堆的性质public void heapifyUp() {//当前节点对应在数组中的索引int index size - 1;//父节点的在数组中的索引 -- 只能有一个父节点int parentIndex (index - 1) / 2;while(parentIndex 0 heap[parentIndex] heap[index]) {swap(heap,parentIndex,index);index parentIndex;parentIndex (index - 1) / 2;}}//删除并返回堆顶元素public int poll() {//判断堆中是否有元素if(size 0) {return Integer.MIN_VALUE;}int maxValue heap[0];heap[0] heap[size - 1];size--;heapifyDown();return maxValue;}//下沉操作维持堆的性质public void heapifyDown() {int index 0;//一个节点有两个子节点int leftChildIndex 2 * index 1;int rightChildIndex 2 * index 2;while(leftChildIndex size) {//找到左右子节点中比较大的那个int largerChildIndex leftChildIndex;if(rightChildIndex size heap[rightChildIndex] heap[leftChildIndex]) {largerChildIndex rightChildIndex;}//如果当前节点大于等于最大的子节点堆性质已经满足if(heap[index] heap[largerChildIndex]) {break;}swap(heap,index,largerChildIndex);index largerChildIndex;leftChildIndex 2 * index 1;rightChildIndex 2 * index 2;}}public void swap(int[] nums,int i,int j) {int temp nums[i];nums[i] nums[j];nums[j] temp;}} 类似题目 【模板】堆_牛客题霸_牛客网215. 数组中的第K个最大元素 - 力扣LeetCode
http://www.hkea.cn/news/14280786/

相关文章:

  • 江北网站建设的技术用jsp做一网站的流程
  • 招聘网站设计师要求网站建设 千佳网络
  • dede关闭手机网站企业网站开发哪家好
  • 网站开发用什么框架好邯郸网站制作地方
  • 二级黄冈站wordpress文章推荐
  • 网页编程培训深圳网站seo哪家快
  • 天津工程建设协会网站一个公司的官网怎么做
  • 什么样的公司愿意做网站免费制作网页的网站
  • 小程序制作搭建东莞排名seo网站关键词优化
  • 怎么做网站的轮播图dw网站制作的源代码
  • 全国各城市感染高峰进度查询宁波网站建设seo
  • 竞价托管网站建设自己开网店没有货源怎么办
  • 三好街做网站公司网站制作长春
  • php响应式网站开发百度云外贸网站建设论坛
  • seo整站优化公司持续监控百度的链接
  • 厦网站建设培训学校wordpress简约博客主题
  • 威海 医院网站建设商品详情页设计模板
  • 响应式网站 价格产品推广计划
  • intitle 郑州网站建设网站开发和程序开发
  • 扬州网站商城建设价格信息免费发布平台
  • 中国建设银行手机网站下载安装用模板做网站需要懂代码吗
  • wordpress淘宝客网站模板网站建设价表模板
  • 哈尔滨网页设计网站模板免费html5网站源码
  • 在网站上做网络课堂软件多少钱怎么开店
  • 家政网站制作线上线下相结合的营销模式
  • 网站域名费用怎么做帐爱获客电销系统
  • 网站系统建设预算国内专业网站设计
  • 怎样做电影网站模型网站大全免费
  • 服务好的企业网站怎么建设it渠道网
  • 关于集团网站建设的修改请示上海巨型网站建设