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

公司网站建设工作通知自己在线制作logo免费 生成器

公司网站建设工作通知,自己在线制作logo免费 生成器,上往建站,益阳网络营销什么是堆#xff1f; 堆都能用树来表示#xff0c;一般树的实现都是利用链表。而 二叉堆 是一种特殊的堆#xff0c;它用完全二叉树来表示#xff0c;却可以利用数组实现。平时使用最多的是二叉堆。二叉堆易于存储#xff0c;并且便于索引。堆数据结构像树#xff0c;但…什么是堆 堆都能用树来表示一般树的实现都是利用链表。而 二叉堆 是一种特殊的堆它用完全二叉树来表示却可以利用数组实现。平时使用最多的是二叉堆。二叉堆易于存储并且便于索引。堆数据结构像树但是是通过数组来实现的不是通过链表是通过二叉堆。最小堆就是从小到达排序最大堆相反。 实现堆 因为是数组所以父子节点的关系就不需要特殊的结构去维护索引之间通过计算就可以得到省掉了很多麻烦。如果是链表结构就会复杂很多。完全二叉树要求叶子节点从左往右填满才能开始填充下一层这就保证了不需要对数组整体进行大片的移动。这也是随机存储结构数组的短板即删除一个元素之后整体往前移是比较费时的。这个特性也导致堆在删除元素的时候要把最后一个叶子节点补充到树根节点的缘由。二叉堆像树的样子我可以理解但将他们安排在数组里的话通过当前下标怎么就能找到父节点和子节点呢父节点、左子树和右子树 左子树index * 2 1右子树index * 2 2父节点 index - 1 / 2 实现最小堆 class MinHeap {constructor() {this.heap []}// 换位置swap(i1, i2) {let temp this.heap[i1]this.heap[i1] this.heap[i2]this.heap[i2] temp}// 找到父节点getParentIndex(index) {return Math.floor((index - 1) / 2)}// 上前移操作up(index) {if (index 0) returnconst parentIndex this.getParentIndex(index)if (this.heap[parentIndex] this.heap[index] ) {this.swap( parentIndex, index )this.up(parentIndex)}}// 找到左侧子节点getLeftIndex(index) {return index * 2 1}// 找到右侧子节点getRigthIndex(index) {return index * 2 2}// 下后移操作down(index) {const leftIndex this.getLeftIndex(index)const rightIndex this.getRigthIndex(index)if (this.heap[leftIndex] this.heap[index]) {this.swap(leftIndex, index)this.down(leftIndex)}if (this.heap[rightIndex] this.heap[index]) {this.swap(rightIndex, index)this.down(rightIndex)}}// 添加元素insert( value ) {this.heap.push(value)this.up( this.heap.length-1 )}// 删除堆顶pop() {this.heap[0] this.heap.pop()this.down(0)}// 获取堆顶peek() {return this.heap[0]}// 获取堆长度size() {return this.heap.length} }let arr new MinHeap() arr.insert(5) arr.insert(4) arr.insert(6) arr.insert(1) arr.pop() console.log(arr) console.log(arr.size()) console.log(arr.peek())leetcode 习题 堆习题
http://www.hkea.cn/news/14566139/

相关文章:

  • 申请自助网站wordpress title修改
  • 怎么给网站做seo优化新手如何优化网站排名
  • 建网站用哪个好做网站一年赚多少钱
  • 网站建设系统怎么样女性健康网站源码
  • 网站建设企业网站宿迁商城网站建设
  • 哪些公司做DZ网站维护做悬浮导航的网站
  • 商务网站建设详细步骤洋气的文化传媒公司名字
  • jsp网站服务器如何做防护电子商务网站建设和推广论文
  • 哲学专业特色建设网站注册公司网站源码
  • 做交易网站存在什么风险网站搜索引擎优化报告
  • 贵州省建设厅考证官方网站盈润企业网站管理系统
  • 网站运营外包公司网站做百度推广吗
  • 门窗企业网站建设网站建设彩铃语
  • 网站建设衤金手指花总十五唐山公司做网站
  • 栾城区城乡建设局网站关键词排名优化提升培训
  • 服装电子商务网站建设3000字wordpress商城主题模板
  • 建设部职业资格注册中心网站网站建设 铭阳传媒
  • 案例应聘网络营销做网站推广国外外贸网站
  • 做自媒体一般都注册几个网站大都会app用不了
  • 零食店网站建设计划书成都网站优化多少钱
  • 南京高端网站建设公司网站开发云南
  • 电商网站开发平台用什么人开发书店网站规划与建设
  • 怎么向搜索引擎提交网站广州公司网站建设
  • 开发网站的费用属于什么费用建设一个旅游网站必备的
  • 有没有可以在线做化学实验的网站怎么通过淘宝优惠券做网站赚钱
  • php企业网站开发pdf对网站做数据统计的目的是什么
  • 创意合肥网站建设wordpress免费主机
  • 自己做网站赚钱wordpress建站发文教程
  • 中山网站建设备案推广的含义
  • 成都公司网站开发为企业做优做强