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

阿里云可以做网站么企业培训考试系统app

阿里云可以做网站么,企业培训考试系统app,北海做网站哪家好,北京中企动力科技股份有限公司目录 大小堆 堆的实现 堆的创建 堆的销毁 交换 向上调整 向下调整 弹出首个元素 取出首个元素 判空 堆插入 大小堆 大堆:最上面的数字是最小的,越往下越大 小堆:最上面的数字是最大的,越往下越小 堆的复杂程度&#…

目录

大小堆

堆的实现

堆的创建

堆的销毁

交换

向上调整

向下调整

弹出首个元素

取出首个元素

判空

堆插入


大小堆

大堆:最上面的数字是最小的,越往下越大

小堆:最上面的数字是最大的,越往下越小

堆的复杂程度:

由错位相减我们可以知道T(n)= n - log(n-1) = n,所以建堆的复杂程度为O(N)

堆的实现

堆的创建

void HPInit(HP* php)
{assert(php);php->a = NULL;php->size = php->capacity = 0;
}

堆的销毁

void HPDestroy(HP* php)
{assert(php);free(php->a);php->a = NULL;php->size = php->capacity = 0;
}

交换


void Swap(HPDataType* p1, HPDataType* p2)
{HPDataType tmp = *p1;*p1 = *p2;*p2 = tmp;
}

向上调整


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

向下调整

void AdjustDown(HPDataType* a, int n, int parent)
{int child = parent * 2 + 1;while (child < n){if (child + 1 < n && a[child] > a[child + 1])//先假设左孩子是小的{child++;}if (a[child] < a[parent]){Swap(&a[child], &a[parent]);parent = child;child = parent * 2 + 1;}else {break;}}
}

弹出首个元素

void HPPop(HP* php)
{assert(php);assert(php->size > 0);Swap(&php->a[0], &php->a[php->size - 1]);php->size--;AdjustDown(php->a, php->size, 0);
}

取出首个元素

HPDataType HPTop(HP* php)
{assert(php);assert(php->size);return php->a[0];
}

判空


bool HPEmpty(HP* php)
{assert(php);return php->size == 0;
}

堆插入


void HPPush(HP* php, HPDataType x)
{assert(php);if (php->size == php->capacity){int newcapacity = (php->capacity == php->size == 0 ? 4 : php->capacity * 2);HPDataType* tmp = (HPDataType*)realloc(php->a, newcapacity * sizeof(HPDataType));//扩建的是字节if (tmp == NULL){printf("malloc faild");return;}}php->a[php->size] = x;php->size++;Adjustup(php->a, php->size - 1);
}

http://www.tj-hxxt.cn/news/126978.html

相关文章:

  • 毕业设计题目怎么选题东莞整站优化
  • 深圳做外贸网站公司成都百度推广
  • 提供网站建设服务的网站价格企业网站建设原则是
  • 公司做网站怎么赚钱河南郑州最新消息今天
  • 汕头多语种网站制作个人怎么在百度上做推广
  • 大连网站建设优化网络营销的成功案例分析
  • 网站制作com免费发布网站seo外链
  • 做维修广告效最好是哪个网站吗seo推广是什么工作
  • 寻花问柳-一个专做男人的网站进入百度官网首页
  • 一流的五屏网站建设海南百度竞价排名
  • 高端网络公司网站源码优秀网站
  • 网站评估做的好不好郑州网络推广大包
  • 谢晶晶的赣州没有网页制作上海网站搜索排名优化哪家好
  • 做网站最便宜多少钱谷歌账号
  • 网站开发和上传中错误的是微信公众号推广方法有哪些
  • 怎么用安卓机顶盒做网站服务器北京企业网站seo平台
  • 山西网站建设公司google官方下载
  • 网站设计论文答辩问题及答案苏州首页排名关键词优化
  • 长沙做网站天津企业seo
  • 网站有哪些类型和它的成功案例宁波核心关键词seo收费
  • 有什么网站接效果图做的今日刚刚发生的新闻
  • 服装公司网站建设需求分析报告销售管理
  • 企业网站注册流程海口seo快速排名优化
  • 可以免费下源码的网站品牌推广方式
  • 武汉市哪里做公司企业网站宁波厂家关键词优化
  • 申请一个网站需要怎么做搜索引擎优化自然排名的优点
  • 政府网站建设工作的报告广州网站优化运营
  • 电大考试亿唐网不做网站做品牌网络营销ppt怎么做
  • 能免费做网站吗中国2022年重大新闻
  • 爱站网关键词密度查询快手流量推广免费网站