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

哪个网站代做ppt便宜长清网站建设

哪个网站代做ppt便宜,长清网站建设,vi设计网站运动康复,建设酒店网站ppt模板下载文章目录 概要堆2条件大顶堆小顶堆 堆的实现插入元素删除堆顶元素 堆代码小结 概要 堆#xff0c;有趣的数据结构。 那么#xff0c;如何实现一个堆呢#xff1f; 堆 堆#xff0c;有哪些重点#xff1a; 满足2条件大顶堆小顶堆 2条件 2条件#xff1a; 堆是一个… 文章目录 概要堆2条件大顶堆小顶堆 堆的实现插入元素删除堆顶元素 堆代码小结 概要 堆有趣的数据结构。 那么如何实现一个堆呢 堆 堆有哪些重点 满足2条件大顶堆小顶堆 2条件 2条件 堆是一个完全二叉树堆中的每个节点的值都必须大于等于或小于等于其树中每个节点的值 堆要满足这2个条件重点。即使后边插入数据或者删除数据之后还是要满足这2个条件来做调整。 大顶堆 特点 每个节点的值都大于等于子树中每个节点值的堆。 小顶堆 特点 每个节点的值都小于等于子树中每个节点值的堆。 堆的实现 实现一个堆重要的操作插入元素和删除堆顶元素 插入元素 堆化顺着节点所在的路径向上或者向下对比然后交换。 来看下插入的代码 public class Heap {private int[] a; // 数组从下标1开始存储数据private int n; // 堆可以存储的最大数据个数private int count; // 堆中已经存储的数据个数public Heap(int capacity) {a new int[capacity 1];n capacity;count 0;}public void insert(int data) {if (count n) return; // 堆满了count;a[count] data;int i count;while (i/2 0 a[i] a[i/2]) { // 自下往上堆化swap(a, i, i/2); i i/2;}}}删除堆顶元素 由大顶堆和小顶堆的定义可知堆顶元素要么最大要么最小 public void removeMax() {if (count 0) return -1; // 堆中没有数据a[1] a[count];--count;heapify(a, count, 1); }private void heapify(int[] a, int n, int i) { // 自上往下堆化while (true) {int maxPos i;if (i*2 n a[i] a[i*2]) maxPos i*2;if (i*21 n a[maxPos] a[i*21]) maxPos i*21;if (maxPos i) break;swap(a, i, maxPos);i maxPos;} }堆代码 来看个完整的代码吧这里给python的。如下 import sys class BinaryHeap:def __init__(self, capacity):self.capacity capacityself.size 0self.Heap [0]*(self.capacity 1)self.Heap[0] -1 * sys.maxsizeself.FRONT 1def parent(self, pos):return pos//2def leftChild(self, pos):return 2 * pos def rightChild(self, pos):return (2 * pos) 1def isLeaf(self, pos):if pos (self.size//2) and pos self.size:return Truereturn Falsedef swap(self, fpos, spos):self.Heap[fpos], self.Heap[spos] self.Heap[spos], self.Heap[fpos]def heapifyDown(self, pos):if not self.isLeaf(pos):if (self.Heap[pos] self.Heap[self.leftChild(pos)] or self.Heap[pos] self.Heap[self.rightChild(pos)]):if self.Heap[self.leftChild(pos)] self.Heap[self.rightChild(pos)]:self.swap(pos, self.leftChild(pos))self.heapifyDown(self.leftChild(pos))else:self.swap(pos, self.rightChild(pos))self.heapifyDown(self.rightChild(pos))def insert(self, element):if self.size self.capacity :returnself.size 1self.Heap[self.size] elementcurrent self.sizewhile self.Heap[current] self.Heap[self.parent(current)]:self.swap(current, self.parent(current))current self.parent(current)def minHeap(self):for pos in range(self.size//2, 0, -1):self.heapifyDown(pos)def delete(self):popped self.Heap[self.FRONT]self.Heap[self.FRONT] self.Heap[self.size]self.size- 1self.heapifyDown(self.FRONT)return poppeddef isEmpty(self):return self.size 0def isFull(self):return self.size self.capacity小结 关于堆就这么多吧 堆的概念跟推理还是相对来说简单的。比红黑树简单点。其实都一样的只要按照那些规则一条一条对着去理解应该还好。
http://www.hkea.cn/news/14298497/

相关文章:

  • 石家庄集团公司网站建设wordpress主题怎么设置tdk
  • 内衣网站建设推广手机网站 微信平台
  • 做类似简书的网站排名
  • php企业网站 源码企业电子商务网站建设总结
  • 做建筑效果图最好的网站12380网站建设情况
  • 集团公司网站模板装修网页设计网站
  • 推荐佛山伦教网站设计网站空间和数据库空间
  • 泰州企业网站模板建站网站重大建设项目公开发布制度
  • 网站微信登录怎么做杭州比较好的软装设计公司
  • 企业网站建设好处中国制造网简介
  • 网站逻辑结构优化是指万家建设有限公司网站
  • 装饰网站建设优惠套餐企业网络营销分析报告
  • 上海市建设安全协会网站查询系统瘫网站开发方案 文档
  • 盘锦网站建设公司wap端网站建设
  • 商城网站建设资讯网站丢失了怎么办啊
  • 手机网站建站工作室网站怎么推广引流
  • 电商网站策划物流门户网站开发 报价
  • 设计企业品牌网站最大上传大小wordpress
  • 备案 非网站徐州峰华网架公司
  • 商城网站建设制作注册公司名字推荐
  • 永安城乡建设局网站wordpress 4.8中文版
  • 网站上推广游戏怎么做企业做网站大概需要多少钱
  • 在北京注册公司在哪个网站上网站开发基于百度地图
  • 2014网站推广方案手机怎么制作游戏
  • 公司建设网站有什么好处qq人脸解冻自助网站
  • 濮阳推广公司免费发布网站seo外链
  • 学做家常菜的网站有哪些怎么形容网站做的很好
  • 网上建设网站需要做的工作智能手机网站建设
  • 住房和城乡建设部网站办事大厅个人网站备案名称填写的注意事项
  • windows2008 iis 网站配置手机网站自适应分辨率