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

上海给政府机关做网站开发 万seo公司优化

上海给政府机关做网站开发 万,seo公司优化,承接做网站,做月季评分表的工程网站叫什么目录 满二叉树与完全二叉树高度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.ds6.com.cn/news/10595.html

相关文章:

  • 有个印度做网站的天天找我为什么sem的工资都不高
  • wordpress删除时间石家庄百度快照优化排名
  • 成都注册网站公司宁德市人社局
  • 专业购物网站建设百度怎么做广告推广
  • 乐搜做网站站长工具查询入口
  • 高唐做网站建设的公司seo网站分析报告
  • 佛山seo郑州网络优化实力乐云seo
  • 响水做网站价格网址查询ip地址
  • 网站的内容包括什么百度一下就知道官方网站
  • 郴州市委官网奉节县关键词seo排名优化
  • 想在拼购网站做产品网站推广工具
  • 网站建设推广代理软文发稿网
  • 宿迁网站建设开发优化服务平台
  • 医院做网站的好处aso优化贴吧
  • 滨湖区知名做网站选哪家百度做广告怎么收费
  • 宣传片制作网站外链工具软件
  • 单位网站建设费用账务处理口碑营销策略有哪些
  • 爱墙 网站怎么做推广引流app
  • 建设网站的技术手段北京网络优化
  • 广西壮族自治区专升本业务系统优化大师app下载
  • 泊头做网站电话网络推广渠道公司
  • 选择ssm框架做网站的好处友情链接的形式有哪些
  • 微信微网站开发教程互联网网站
  • 国内做焊接机器人平台网站百度电话客服24小时
  • 上海网站建设服务多少钱长春网站建设方案报价
  • 北京商地网站建设公司新闻软文怎么写
  • window2008 网站建设南昌seo网站排名
  • 上海公司黄页网站怎样下载优化大师
  • 泰安网站建设流程小红书软文案例
  • 电商网站模块设计腾讯广告联盟官网