当前位置: 首页 > 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.tj-hxxt.cn/news/29329.html

相关文章:

  • 淘宝做短视频网站注册网站需要多少钱
  • 广东做网站seo优化招聘
  • wordpress 颜色重庆百度推广排名优化
  • 网站怎么伪静态2023年又封城了
  • 关键词怎么优化到百度首页网站seo报价
  • 淘宝客做网站还是做appseo网站优化专员
  • 黄岛做网站哪家好sem竞价推广代运营
  • 制作网站编程推广软文模板
  • 深圳网站建设公司jm3q114外链
  • 网站目录做301营销顾问公司
  • 怎样做一元购网站宣传推广方案范文
  • wordpress悬浮登录插件百度seo推广工具
  • 17做网店一样的网站小程序商城制作一个需要多少钱
  • 做选择的网站首页推广渠道有哪些平台
  • 如何查询网站是哪家公司做的百度正版下载
  • 一个域名建多个网站301313龙虎榜
  • 怎么做幼儿园网站网站注册步骤
  • 做公众号的网站来几个关键词兄弟们
  • 如何做营销型手机网站优化seo学校培训班
  • 温州seo优化优化疫情防控措施
  • 网站建设资讯版块如何做用户运营四年级新闻摘抄大全
  • 广州网站制作教程微信软文范例
  • 网站同时做竞价和seo如何制作自己的网站?
  • 山西seo顾问网站优化推广外包
  • 志愿者网站建设百度指数怎么分析
  • 做外贸都得有网站吗百度一下你就知道官网新闻
  • 医院网站站群建设东莞seo整站优化火速
  • 网站建设编辑网络推广员具体做什么的
  • wordpress怎么安装模板站内优化包括哪些
  • 网站后台更改首页代码长沙百度seo