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

做购物比价的网站有哪些医院门户网站建设规划

做购物比价的网站有哪些,医院门户网站建设规划,梁志天室内设计公司官网,济南正规的网站制作算法流程: 与⽗结点的权值作⽐较,如果⽐它⼤,就与⽗亲交换; 交换完之后,重复 1 操作,直到⽐⽗亲⼩,或者换到根节点的位置 这里为什么插入85完后合法? 我们插入一个85,…

算法流程: 

  1. 与⽗结点的权值作⽐较,如果⽐它⼤,就与⽗亲交换; 
  2. 交换完之后,重复 1 操作,直到⽐⽗亲⼩,或者换到根节点的位置

                               

这里为什么插入85完后合法?

我们插入一个85,当85还没来的时候,此时的堆是一个合法的大堆,所有的节点都大于等于子树中所有节点,85到来的时候,我会拿它和它的父节点作比较,如果它小于父结点,比如3,那就不用调整,因为当前节点小于父节点,也肯定小于父节点的父结点,因为这是一个堆结构,只要他小于父结点,他肯定小于沿着这个节点向上的所有节点,因此在3到来的时候它还是合法的;但是当85到来的时候,85的值大于22,因此我会让较大的值往上转移,转移完之后下面的堆就合法了,85是大于22的,因为22大于左子树数,所以我把较大的值挪下来之后,85肯定大于下面两颗子树里面所有的节点,因此85转移下来之后,下面的小树就合法了

                                          

但是上面的我们还不确定,所以我们要继续拿85和上面的点做比较,当我们发现85比39还大的时候就继续转移,转移完之后下面的子树依旧是合法的,因为39没转移之前是大于它的左子树和右子树里面所有的点,所以当我把39转移到下面的时候,他依旧是大于20和22这两个点的,把39转移到下面的子树是不受影响的,但是当我把85转移到上面的红圈中的子树就合法了,原因就是刚刚85是比39大的,85转移到上面之后,85肯定是大于刚刚左子树里面所有的节点,以及刚刚右子树里面所有的节点,因为39放在这里就合法,那我把85放在这里也是合法的,因此当我把85转移到上面的时候,整颗子树就变得合法了,每次向上转移,他都会让一颗小子树合法,继续向上转移,又会让一颗小子树合法,此时我们发现85比99小,左边的子树就合法了,右边的子树本身就是合法的,因为85到来的时候并不会影响右子树,85向上调整的时候,他会让一个小子树再让一颗小子树变得合法,因此整个指数就变得合法了,所以这里为什么合法,就是一个简单比大小的过程,一直让大的元素向上再向上,上到不能再上的时候整个数就合法了,这就是堆的第一个核心操作向上调整算法,如果是小堆的话,就让小元素向上走

                                                   

向上调整算法时间复杂度

最坏情况下节点会从最后一层开始转移上一层,再转移上一层,所以他向上转移的次数跟树的高度是一样的,在我们学习完全二叉树性质的时候,当整棵树节点个数为N的话,它的树的高度是loh以2为底N +1的对数,时间复杂度就是O(logN)

代码实现:

const int N = 1e6 + 10;int n;
int heap[N];//向上调整算法
void up(int child) //每次和父亲做比较
{int parent = child / 2;//父节点存在且当前结点值大于父节点的权值while (parent >= 1 && heap[child] > heap[parent]){swap(heap[child], heap[parent]);child = parent;parent = child / 2;}
}
  • 这个向上调整算法是为建堆服务的,对我们建完堆之后再来测试

http://www.yayakq.cn/news/11154/

相关文章:

  • 创业做网站还是软件好自助建站工具软件
  • 免费笑话网站系统个人网站建设案例教程
  • 重庆怎么自己做网站2024年新闻时事热点论文
  • 中国未来巨型空间站视频网站 如何做seo
  • 关于校园网站建设的建议丹徒网站建设服务
  • 兴平网站开发网站备案字号
  • 网络公司+网站建设+小程序个人做公司网页怎么做
  • 医院系统网站建设seo优化策略
  • 找大学生做网站要多少钱展厅设计找哪家公司好
  • 专业网站建设公司首选上海网页制作公司 酒店
  • 上海松江区做网站的公司wordpress搭建外贸
  • 桥头镇网站建设网站的ns记录
  • 网站建设 点指成名福建省住房和城乡建设厅网站首页
  • 汕头市作风建设的网站网络运维周报
  • 重庆市建设工程安全网站wordpress提交页面反应迟钝
  • 搜索引擎优化至少包括哪几步襄阳网站排名优化
  • 找人做网站都需要提供什么一键生成ppt的软件
  • 网站修改域名服务器工程公司名字大全集
  • 品牌网站怎么做dedecms wap网站模板下载
  • 分析网站统计对网络营销的价值国外手表网站
  • 深圳建设网站公做中学数学教案有哪些好的网站
  • 哪家网站好网站界面设计的流程
  • H5网站开发工程师wordpress做的外贸网站6
  • 成都网站建设 外包wordpress修改页面样式
  • 网站实名制查询一键生成ppt免费
  • 网站优化是做什么的常用于做网站的软件
  • 做网站便宜的公司杭州网站开发设计
  • 使用rem布局的网站如何运营一个电商平台
  • 权威的唐山网站建设有关做橡胶品的网站
  • 免费的app软件下载网站软件开发技术管理系统研发