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

电子商务网站模板宁波seo关键词优化

电子商务网站模板,宁波seo关键词优化,域名收录提交,旅游公司网页设计二叉堆这个数据结构有点意思#xff0c;自己做了个总结#xff0c;内容结构如下#xff1a;二叉堆性质二叉堆操作应用二叉堆性质#xff1a;堆(Heap)是一个可以被看成近似完全二叉树的结构#xff0c;具有完全二叉树的特性#xff1a;缺少的叶子节点总是位于右子节点n个节…二叉堆这个数据结构有点意思自己做了个总结内容结构如下二叉堆性质二叉堆操作应用二叉堆性质堆(Heap)是一个可以被看成近似完全二叉树的结构具有完全二叉树的特性缺少的叶子节点总是位于右子节点n个节点的完全二叉树高度k⌊ log2n⌋(向上取整)从1开始按层序编号那么第i个节点有如下性质其左子节点索引是2i其又子节点索引是2i1其父节点索引为 i // 2同时具有堆的特性堆顶元素就是最值O(1)时间就能优先拿到从根节点(堆顶)到堆中每一个节点都是一个有序序列。存储方式可以用线性的数组来实现实现简单易操作不过要注意数组下标从0开始这个位置预留占位节点的索引从1开始编号。2.pngbinarytree.png二叉堆操作BinaryHeap()创建一个空的二叉堆对象insert(key)将新元素加入到堆中findMin()返回堆中的最小项最小项仍保留在堆中delMin()返回堆中的最小项同时从堆中删除isEmpty()返回堆是否为空size()返回堆中节点的个数buildHeap(lst)从一个包含节点的列表里创建新堆# 直接导入Pythonds包使用其提供的有关堆的数据结构。from pythonds.trees import BinaryHeapbheapBinaryHeap()bheap.insert(5)#用list来实现对堆的操作class BinaryHeap(object):定义一个二叉堆def __init__(self):self.heapList [0] # 第一个堆元素从1开始编号索引为0占位不用self.currentSize 0def percolateUP(self, i):将第i个元素上浮到合适位置while i // 2 0:if self.heapList[i] self.heapList[i // 2]:self.heapList[i], self.heapList[i // 2] self.heapList[i // 2], self.heapList[i]else:breaki i // 2def percolateDown(self, i):将第i个元素下沉到合适位置while (2 * i) self.currentSize:minIndex self.minChild(i)if self.heapList[i] self.heapList[minIndex]:self.heapList[i], self.heapList[minIndex] self.heapList[minIndex], self.heapList[i]else:breaki minIndexdef minChild(self, i):返回第i个元素左右子节点中最小值if (2 * i 1) self.currentSize:return 2 * i # 只有一个子节点(左子节点)elif self.heapList[2 * i] self.heapList[2 * i 1]:return 2 * ielse:return 2 * i 1def insert(self, key):将新元素加入到堆中self.heapList.append(key)self.currentSize self.currentSize 1self.percolateUP(self.currentSize) # 新值上浮def findMin(self):返回堆中的最小项最小项仍保留在堆中return heapList[1]def delMin(self):返回堆中的最小项同时从堆中删除result self.heapList[1]# 将最后一个元素换到堆顶并删除堆顶元素self.heapList[1] self.heapList.pop()self.currentSize self.currentSize - 1self.percolateDown(1) # 将堆顶元素下沉return resultdef isEmpty(self):返回堆是否为空return len(heapList) 1def size(self):返回堆中节点的个数return len(heapList) - 1def printHeap(self):print(self.heapList[1:])def buildHeap(self, lst):从一个包含节点的列表里创建新堆,用下沉法将时间复杂度控制在O(n)self.currentSize len(lst)i self.currentSize // 2 #从最后一个节点的父节点开始过滤下沉self.heapList [0] lst[:]while i 0:self.percolateDown(i)i i - 1self.printHeap()应用之一-----------------优先队列可以在O(1)时间拿到最值获取最优解实现对VIP或者进程的优先级等操作pic_19.png应用之二-----------------堆排序
http://www.yutouwan.com/news/212564/

相关文章:

  • 房地产公司 网站建设淘宝小程序入口
  • 关键词排名优化网站建设公司哪家好义乌网站建站
  • 怎么模仿网站做pptwordpress调用指定分类的文章列表
  • 住房和城乡建设部网站关于污水运行负荷率要求的文件360建筑网密码忘了
  • 最新某地方装修门户源码 php装饰公司程序 dede行业网站模板网页制作作业下载
  • 东莞网站建设五金建材房产信息查询系统入口
  • 合肥网站推广公司哪家好平面设计网站推荐
  • 沧州网站建设推广优分销app下载
  • 网站 逻辑结构营销网站建设流程图
  • 网站开发流程相关知识企业办公软件排名
  • 中国建设规划采购网站系统开发成本可以分为哪三种
  • 外贸品牌网站建设雅奇小蘑菇做网站好不好用
  • 网站建设公司挣钱吗手机网站制作教程软件
  • uni做网站首页wordpress后台乱码
  • 网站的服务器选择seo排名优化表格工具
  • 企业如何进行宣传和推广seo网站优化排名
  • 江苏大才建设集团网站iis 网站建设中
  • 专业轻电商网站建设公司wordpress简单投稿
  • 佛山网站建设网站建设收费上虞市建设风机厂网站
  • 如何做网站301重定向seo培训学校
  • 凡科网建站模板仪征做网站公司哪家好
  • 微商网站推广中国可信网站认证
  • 网站建设前途无锡网站搜索优化
  • 行业网站建设的书哪家公司做的网站好
  • 微网站开发案例重庆 网站 建设
  • asp黑网站源码苏州手机社区网站建设
  • 要加强县门户网站的建设管理百度竞价排名的利与弊
  • 高校工会网站建设工程建设方案
  • 赢了网站怎么做的北京网站建设+招聘信息
  • wordpress 上传网站吗如何查看网站的空间大小