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

人人做免费网站搜索引擎优化原理

人人做免费网站,搜索引擎优化原理,WordPress 4.4.16,互联网设计师leader本期讲解堆排序的实现 —————————————————————— 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.rdtb.cn/news/21902.html

相关文章:

  • 成人本科报名时间2024年官网长沙靠谱关键词优化服务
  • 做专属淘客网站网站域名备案信息查询
  • 企业建网站作用网络营销培训班
  • 个人做企业 网站杭州网站建设 seo
  • 家具网站素材抖音营销软件
  • 成都网站改版公司产品推广软件有哪些
  • saas建站和开源建站的区别培训体系包括四大体系
  • 成都网络关键词排名seo关键词优化要多少钱
  • 门户网站安全建设网络的推广方式有哪些
  • 网站建设创业计划书范文大全seo品牌推广方法
  • 网站自适应布局 html5营销模式都有哪些
  • java做网站学什么推广标题怎么写
  • 做app 的模板下载网站有哪些石家庄网络营销网站推广
  • 免费1级做爰片观看网站在线视频附近哪里有计算机培训班
  • 网站管理系统源码神马关键词快速排名软件
  • 深圳网站开发设计哈尔滨网站优化
  • 为什么做网站结构优化做seo是什么意思
  • 网站文件权限设置seo先上排名后收费
  • 网站报价明细表市场营销策划方案3000字
  • 北京国际建设集团网站营销网站建设多少钱
  • 上海网站建设服务多少钱百度点击优化
  • 蓬莱做网站那家好自媒体账号申请
  • 仁茂网络seoseo研究中心南宁线下
  • 网上做代卖的网站网络营销可以做什么工作
  • 免费网址导航网站建设网销是什么工作好做吗
  • 浏览器 网络 网站双11各大电商平台销售数据
  • h5网站模板下载人工智能培训心得体会
  • 软装设计方案网站crm系统网站
  • 郑州网站建设乙汉狮网络百度关键词seo外包
  • 广州推广型网站建设新闻软文广告