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

织梦网站怎么做404页面模板h5海报免费制作软件

织梦网站怎么做404页面模板,h5海报免费制作软件,东莞设计公司有哪些,网站开发属于什么专业文章目录 概要堆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.w-s-a.com/news/199277/

相关文章:

  • 海口网站建设优化公司网站开发要加班吗
  • 建设一个网站需要注意哪些要求群晖的网站开发
  • 精通网站开发阅读网页视频下载慢怎么办
  • 网站标题的选择巴音郭楞库尔勒网站建设
  • 成都市网站建设服务商怎么进网站后台管理系统
  • 企业网站站内优化30岁做网站编辑
  • 与安网站建设网站建设征求意见稿
  • 学校网站推广做网站手把手
  • 网站开发遇到的难题wordpress文章调用
  • 网站建设做的好在线logo免费设计生成器标智客
  • 郑州做网站齿轮网站排名怎么做 site
  • 船员专用网站开发建议wordpress 图片占用id
  • 桌面软件开发跟网站开发那个上海网站备案在哪里查询
  • 罗湖网站建设陕西省建设网官网住房和城乡厅官网
  • 做一个网站的详细教学wordpress 忘记用户名密码
  • 建设银行的网站是多少wordpress添加新页面跳转
  • 网站设计费用抓取网站访客qq号码
  • 驾校视频网站模板郑州网站建设价格
  • 上海 有哪些做网站的公司成都企业网站备案流程
  • 移动端快速建站的方法青海公司网站建设
  • 网站重新搭建程序要多少钱移动互联网应用的使用情况
  • 学建站论坛给别人做网站怎么赚钱吗
  • 响应式网站代码校友会网站建设的目的
  • 北京公司网站网站建设html模板
  • 专门做医疗器械的网站免费网页制作系统团队
  • 网站开发技术 html临夏网站建设
  • flash网站模板免费下载拍卖网站开发多少钱
  • 北京网站建设制作颍州网站建设
  • 网站制作报价表做网站上海公司
  • 简洁大气蓝色文章资讯网站百度搜索广告推广