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

衡阳市做网站黄页引流推广链接

衡阳市做网站,黄页引流推广链接,做互联网网站待遇,做国外商品的网站本期讲解堆排序的实现 —————————————————————— 1. 堆排序 堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1. 建堆 • 升序:建大堆 • 降序:建小堆 2. 利用堆删除思想来进行排序. 建堆和堆删…

本期讲解堆排序的实现

——————————————————————

1. 堆排序

堆排序即利用堆的思想来进行排序,总共分为两个步骤:


  1. 建堆
    • 升序:建大堆
    • 降序:建小堆
2. 利用堆删除思想来进行排序.

建堆和堆删除中都用到了向下调整,因此掌握了向下调整,就可以完成堆排序。

PS: 向下调整的代码实现已在上一篇博客最后(Heap.c) 分享

堆排序的两种实现

在此,我们提倡第二种堆排序的方法

1.


int a[]={2,5,7,4,1,6,9,8,3};void HeapSort(int* a,int n)
{Heap heap;HeapInitArray(&heap, a, n);//建立了小堆//排序int i = 0;while (!HeapEmpty(&heap)){a[i] = HeapTop(&heap);printf("%d\n",a[i]);i++;//为了打印HeapPop(&heap);}HeapDestroy(&heap);
}

缺点:
 1.空间复杂度为O(N)
 2.需要去写堆的数据结构(子函数)太麻烦。

2.

//找降序,建小堆
void HeapSort(HeapDataType* a ,int n)
{//1.原数组建小堆,时间复杂度O(N)for (int i = (n - 1 - 1) / 2; i >= 0; i--){AdjustDown(a,n,i);//参数:目的地,个数,开始调整的位置(parent)}//2.交换,继续使用向下调整, 时间复杂度O(N*logN)int end = n - 1;while (end > 0){Swap(&a[0],&a[end]);AdjustDown(a,end,0);--end;}
}

堆排序的时间复杂度为o(N*logN)

这个博客如果对你有帮助,给博主一个免费的点赞就是最大的帮助

欢迎各位点赞,收藏和关注哦

如果有疑问或有不同见解,欢迎在评论区留言哦

后续我会一直分享双一流211西北大学软件(C,数据结构,C++,Linux,MySQL)的学习干货以及重要代码的分享

http://www.mmbaike.com/news/36694.html

相关文章:

  • 常州外贸集团 网站建设深圳创新创业大赛
  • 网站建站网站哪家好谷歌浏览器中文手机版
  • 网站百度快照更新足球联赛排名
  • 陕西住房和城乡建设部网站首页淘宝推广费用一般多少
  • 手机有办法做网站吗百度网络推广怎么收费
  • 做网站哪家比较好seo在线网站推广
  • 怎么做带网站连接的表格上海网络营销有限公司
  • 做杂志一般在哪个网站找感觉武汉网站seo
  • 怎么查公司信息seo优化报告
  • 网站建设维护实训总结哪里可以学企业管理培训
  • 怎么建设自己网站香港域名注册网站
  • 昆山张浦做网站网站搭建工具
  • 网站编译成dll自媒体营销的策略和方法
  • asp.net程序做的网站安全吗6营销方案案例范文
  • 电子商务网站建设与开发选择题福建seo排名
  • 政府网站集约化建设培训讲话seo网站优化报价
  • 长沙网红小吃百度移动端关键词优化
  • 做爰明星视频网站广东: 确保科学精准高效推进疫情
  • wex5 后端实现全网站开发最近新闻
  • 松江企业网站建设公关
  • 微盟微商城怎么样北京seo相关
  • 成都网站建设时代汇创网上怎么免费推广
  • 北京网站设计我选柚米直通车怎么开
  • 建设网站免费seo的培训网站哪里好
  • 做推广任务的网站产品推广方法有哪些
  • WordPress更改网站地址海淀搜索引擎优化seo
  • 网站身份验证怎么做爱站网 关键词挖掘
  • 丰台石家庄网站建设网络推广公司主要做什么
  • 新吴网站建设网络营销都有哪些形式
  • 做图网站被告微博推广平台