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

哪个网站可以学做咸菜牡丹江网站seo

哪个网站可以学做咸菜,牡丹江网站seo,小而美企业网站建设,女生学软件工程后悔了目录 大小堆 堆的实现 堆的创建 堆的销毁 交换 向上调整 向下调整 弹出首个元素 取出首个元素 判空 堆插入 大小堆 大堆:最上面的数字是最小的,越往下越大 小堆:最上面的数字是最大的,越往下越小 堆的复杂程度&#…

目录

大小堆

堆的实现

堆的创建

堆的销毁

交换

向上调整

向下调整

弹出首个元素

取出首个元素

判空

堆插入


大小堆

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

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

堆的复杂程度:

由错位相减我们可以知道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.ds6.com.cn/news/12319.html

相关文章:

  • 高仿卡西欧手表网站百度入口
  • 成都网站制作报价百度收录量
  • pc网站转换wap网站淘宝怎么做引流和推广
  • 政府网站建设推进线上营销公司
  • 大型网站开发什么书籍好今日的头条新闻
  • 滁州做网站优化seo咨询岳阳
  • 东阳做网站的公司seo优化运营
  • 建一独立网站需多少钱seo公司系统
  • 建网站自己与租云服务器哪个好新闻发布平台有哪些
  • 工程项目编号查询系统怎么做好seo推广
  • 安徽住房与城乡建设门户网站营销公关
  • 虚拟主机可以做视频网站嘛seo快速优化软件
  • 山东电商运营公司排名徐州自动seo
  • 建网站合同为什么不建议去外包公司上班
  • 企业网站怎么建设自助建站工具
  • 17Z一起做网站广州站上海aso优化公司
  • 网管软件排名前十名seo推广代理
  • 怎么制作网站后台查看域名每日ip访问量
  • 下载app 的网站 如何做建站模板
  • 微信php网站开发流程图百度权重提升
  • 铁岭做网站一般多少钱真正永久免费的建站系统有哪些
  • 网络服务提供者不履行法律行政法规规定的信息网络安全上海seo优化公司
  • 云网站建设 优帮云中国楼市最新消息
  • 网站如何优化推广网页设计页面
  • 手机网站开发软件有哪些建立网站怎么搞
  • 网站建设公司上海做网站公司排名深圳百度推广排名优化
  • 开发公司如何编写意向书性能优化工具
  • 环球设计官网网站台湾搜索引擎
  • 百度的网站收录怎么做广州网站推广平台
  • 企业网站开发框架百度网址大全 官网首页