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

湖南专业做网站企业专家:核酸检测公司该不该上市

湖南专业做网站企业,专家:核酸检测公司该不该上市,常用网站建设技术有哪些,企业车辆管理系统平台文章目录 概要堆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/343242/

相关文章:

  • 青岛网站建设华夏h5链接是什么意思
  • 贸易公司如何做网站百度做的网站一般在什么后台
  • 东莞网站设计方案广州做服装电商拿货的网站
  • 部队网站建设设计dede个人网站模板
  • 个人网站怎么自己备案重庆怎样网站推广
  • 做电影网站挣钱吗重庆网站建设技术托管
  • 网站建设用户登录网站商业授权含义
  • 接做室内效果图的网站wordpress制作上传图片
  • 维护一个网站一年多少钱网站微信登录怎么做的
  • 中国建设银行网站E路护航官网如何在招聘网站上选个好公司做销售
  • 网站开发质量管理招聘网站建设方案
  • 有没有那个的网站seo编辑的工作内容
  • 平度那里有做网站的昆明建设招聘信息网站
  • 邯郸城乡建设部网站首页唐山市住房城乡建设部网站主页
  • 慕课联盟网站开发实战六安品牌网站建设电话
  • 制作企业网站首页贵州小程序制作开发
  • 什么是网站后台郑州众志seo
  • 做线上交互的网站分销平台
  • 培训机构网站开发江门cms模板建站
  • 网站描述模板建筑模型网站有哪些
  • 域名注册费用张家界seo
  • 淘宝联盟怎么自己做网站山西省住房与城乡建设厅网站
  • 最新网站建设常见问题使用微信推广的各种方法
  • 购物网站建设课程设计报告做木工的网站
  • 扶沟县网站开发网站建设在哪里进行
  • 查看网站服务器信息网站首页地址 网站域名
  • 网站网站制作网站的ui界面设计案例分析
  • 怎么查网站是否备案成都装修公司联系电话
  • 佛山免费发布信息的网站oa办公系统排行榜
  • 南湖区建设街道办事处网站汕头建设银行各支行电话