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

网站注册页面怎么做鹤壁网络推广培训

网站注册页面怎么做,鹤壁网络推广培训,淘宝网络营销方式,做直播网站开发教程目录 满二叉树与完全二叉树高度h和树中节点个数N的关系 向上调整算法: 介绍: 复杂度推导: 向下调整算法: 介绍: 复杂度推导: 向上调整建堆: 介绍: 复杂度推导:…

目录

满二叉树与完全二叉树高度h和树中节点个数N的关系

向上调整算法:

介绍:

复杂度推导:

向下调整算法:

介绍:

复杂度推导:

向上调整建堆:

介绍:

复杂度推导:

向下调整建堆:

介绍:

复杂度推导:


满二叉树与完全二叉树高度h和树中节点个数N的关系

向上调整算法:

介绍:

函数功能:将堆通过向上调整算法使堆成为小堆(父亲<孩子)或大堆(父亲>孩子),堆内父亲=(孩子-1)/2。只要孩子还在堆范围内,就不断判断孩子与父亲的关系。若想设置小堆,则孩子<父亲就执行交换;若想设置大堆,则孩子>父亲就执行交换。

函数参数:HeapDataType * a—>堆内数据类型首元素的指针  int child—>堆底元素(孩子)

函数返回值:

void AdjustUp(HeapDataType* a, int child)
{int parent = (child - 1) / 2;while (child > 0){if (a[child] > a[parent]){Swap(&a[child], &a[parent]);child = parent;parent = (child - 1) / 2;}else{break;}}
}

复杂度推导:

一次向上调整最多调整高度次数,根据满二叉树h=log(N+1),完全二叉树h=log(N)+1,而时间复杂度计算的是最大情况的数量级,所以一次向上调整的复杂度为O(logN)


向下调整算法:

介绍:

函数功能:将堆通过向下调整算法使堆成为小堆(父亲<孩子)或大堆(父亲>孩子),使用假设法先假定要交换的元素为左孩子,child=parent*2+1,若右孩子>左孩子,则需交换的元素为parent*2+1+1。只要孩子还在堆范围内,就不断判断孩子与父亲的关系。若想设置小堆,则孩子<父亲就执行交换;若想设置大堆,则孩子>父亲就执行交换。

函数参数:HeapDataType * a—>堆内数据类型首元素的指针  int n —>堆内元素个数          int parent—>堆顶元素(父亲)

函数返回值:

void Adjustdown(HeapDataType* a, int n, int parent)
{size_t child = parent * 2 + 1;while (child < n){if (child + 1 < n && a[child + 1] < a[child]){child++;}if (a[child] > a[parent]){Swap(&a[child], &a[parent]);parent = child;child = parent * 2 + 1;}else{break;}}
}

复杂度推导:

一次向下调整最多调整高度次数,根据满二叉树h=log(N+1),完全二叉树h=log(N)+1,而时间复杂度计算的是最大情况的数量级,所以一次向下调整的复杂度为O(logN)


向上调整建堆:

介绍:

前提:上几层都是堆

先将数组内所有元素插入堆结构内,再从第一个元素到最后一个元素进行遍历,对每个元素使用向上调整算法,使堆结构成为大堆/小堆

复杂度推导:


向下调整建堆:

介绍:

前提:左右子树都是堆

先将数组内所有元素插入堆结构内,再从最后一个父亲的位置到第一个父亲的位置进行遍历,对每个元素使用向下调整算法,使堆结构成为大堆/小堆

复杂度推导:

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

相关文章:

  • 汉高建设公司网站网站云解析域名解析
  • 套模版做网站环保企业网站建设现状
  • wps做网站框架广州百度seo排名
  • 永康门业微网站建设网站设计毕业设计
  • 做网站广告多少钱网站开发人员定罪案例
  • 北京网站建设一站式服务宁夏人脸识别门禁
  • 外贸公司网站有哪些冷门却好听的公司名称
  • 完爆网站开发经典实例idea可以做网站吗
  • 建设小说网站首页苏州网站建设模版
  • 网站服务器安装教程视频教程安徽建站网站
  • 托里县城乡建设局网站上海网页设计方法
  • 上海网站建设上海.design 域名的网站
  • 深圳网站定制设计wordpress调用本分类热门文章
  • 太原网站建设网站西安专业网站建设公司排名
  • 建设网站流程图网站内容管理规范
  • wordpress网站图片加载速度慢如何去做网络营销
  • 软文代写多少钱一篇网站的结构与布局优化设计
  • 门户网站建设对策及建议搜索案例的网站
  • 网站建设需要云主机吗外贸人才网论坛
  • 杭州做网站博客网站开发中使用框架吗
  • 如何进行网站备案游戏交易网站怎么做
  • 亳州做企业网站乐达网站建设
  • 济南优化网站方法wordpress灯箱
  • 扬州公司网站建设wordpress 含演示数据
  • 南昌有哪些企业网站做模式网站
  • 蜘蛛云建网站怎样网页设计代码简单
  • 江苏省城乡与建设厅网站龙岩网站设计大概价格
  • 做网站去哪里备案建设银行演示网站
  • wordpress英文站源码中国诗歌网个人网页
  • 河北平台网站建设哪家有网站建设需要多钱