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

洛阳西工区做网站哪家好竞价网站

洛阳西工区做网站哪家好,竞价网站,找公司做网站多少钱成都,做好网站建设的重要性文章目录 前言一.什么是堆二.向下调整算法三.堆排序的创建总结 前言 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于&#x…

文章目录

  • 前言
  • 一.什么是堆
  • 二.向下调整算法
  • 三.堆排序的创建
  • 总结

前言

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。


一.什么是堆

堆它分两种结构逻辑结构和物理结构

逻辑结构是完全二叉树

物理结构是数组

堆还有两种特征

1.结构性:用数组表示的完全二叉树。

2.有序性:任一结点的根要大于或小于子节点:称为大堆小堆

通过向标建立父子节点的关系

左孩子(默认为child)

leftchild=parent*2+1
rightchild=parent*2+2
parent=(child-1)/2

二.向下调整算法

要想实现堆排序,首先必须知道什么是向下调整算法。

前提:左右子树都是小堆或者大堆

思路:从根节点开始,选出左右孩子中小的那一个,跟父亲比较,如果父亲小就交换,然后再往下调调到叶子节点结束

void AdjustDwon(int* a, int n, int root)
{int parent = root;//默认左孩子为childint child = parent * 2 + 1;//不能越界,所以要小于n,因为下标最高到n-1,随意当迟来的当n是出while语句while (child < n){//选出左右孩子中小的那一个//child + 1 < n如果出现只有左孩子没有右孩子的节点,就会存在越界现象if (child + 1 < n && a[child + 1] < a[child])child += 1;//如果小就交换,默认排升序if (a[child] < a[parent]){Swap(&a[child], &a[parent]);parent = child;child = parent * 2 + 1;}//如果不存在大小交换,说明已经排完了else{break;}}

三.堆排序的创建

建堆

就是先把数组转化为堆

利用向下调整算法去建立堆

思路:叶子是不用排的,从倒数最后一个非叶子的父亲开始调

	//int i = (n - 1 - 1)父亲公式for (int i = (n - 1 - 1) / 2; i >= 0; i--){AdjustDwon(a, n, i);}

思考:排一个升序是建大堆还是小堆

如果是排小堆的化,每次从头顶拿出数据,就要打乱一个堆,又要把一个堆重新排,他的时间复杂度就为O(N*N),所以要用大堆排,第一个和最后一个交换,把它不看作堆里面的前N -1个数向下调整,选出最大的数再跟倒数第二个位置交换这样它的时间复杂度就为O(N*logN)。

void Heapsort(int* a, int n);
{//int i = (n - 1 - 1)父亲公式for (int i = (n - 1 - 1) / 2; i >= 0; i--){AdjustDwon(a, n, i);}int end = n - 1;while (end > 0){Swap(&a[0], &a[end]);AdjustDwon(a, end, 0);end--;}}

四.堆的时间复杂度


总结

  堆是一种很好做调整的结构,在算法题里面使用频度很高。常用于想知道最大值或最小值的情况,比如优先级队列,作业调度等场景。


文章转载自:
http://asclepiadean.c7491.cn
http://tectonization.c7491.cn
http://intertropical.c7491.cn
http://serape.c7491.cn
http://outrival.c7491.cn
http://repeople.c7491.cn
http://steadiness.c7491.cn
http://proprioception.c7491.cn
http://catladder.c7491.cn
http://subsellium.c7491.cn
http://uncontrovertible.c7491.cn
http://pecs.c7491.cn
http://wet.c7491.cn
http://incidental.c7491.cn
http://sinkiang.c7491.cn
http://phyllode.c7491.cn
http://irresoluble.c7491.cn
http://serositis.c7491.cn
http://fevered.c7491.cn
http://glove.c7491.cn
http://copywriter.c7491.cn
http://oceanization.c7491.cn
http://demarche.c7491.cn
http://wow.c7491.cn
http://usurper.c7491.cn
http://mosslike.c7491.cn
http://flokati.c7491.cn
http://cootie.c7491.cn
http://somatotropin.c7491.cn
http://polycrystal.c7491.cn
http://gastronomer.c7491.cn
http://bedewed.c7491.cn
http://orphic.c7491.cn
http://northumberland.c7491.cn
http://hypermnesis.c7491.cn
http://amor.c7491.cn
http://nitromannitol.c7491.cn
http://gallup.c7491.cn
http://passional.c7491.cn
http://inhabitativeness.c7491.cn
http://kenaf.c7491.cn
http://ajar.c7491.cn
http://poseuse.c7491.cn
http://normally.c7491.cn
http://coadjutor.c7491.cn
http://ingle.c7491.cn
http://unsullied.c7491.cn
http://biwa.c7491.cn
http://commissure.c7491.cn
http://communicatee.c7491.cn
http://ferrite.c7491.cn
http://surgy.c7491.cn
http://voodooist.c7491.cn
http://heliotypography.c7491.cn
http://dewberry.c7491.cn
http://cholelithiasis.c7491.cn
http://retroflexed.c7491.cn
http://lempert.c7491.cn
http://shakerful.c7491.cn
http://politeness.c7491.cn
http://cowhouse.c7491.cn
http://eyecup.c7491.cn
http://whereunto.c7491.cn
http://mohican.c7491.cn
http://escapeway.c7491.cn
http://konstanz.c7491.cn
http://piscatology.c7491.cn
http://rashly.c7491.cn
http://ent.c7491.cn
http://statuette.c7491.cn
http://dynamax.c7491.cn
http://oxyphil.c7491.cn
http://staminody.c7491.cn
http://graip.c7491.cn
http://tankette.c7491.cn
http://monzonite.c7491.cn
http://mnemotechny.c7491.cn
http://deedy.c7491.cn
http://copydesk.c7491.cn
http://mediocre.c7491.cn
http://lagomorphic.c7491.cn
http://paracyesis.c7491.cn
http://amphithecium.c7491.cn
http://eviscerate.c7491.cn
http://transjordan.c7491.cn
http://tsamba.c7491.cn
http://illusiveness.c7491.cn
http://pony.c7491.cn
http://blame.c7491.cn
http://ned.c7491.cn
http://mahdi.c7491.cn
http://forthright.c7491.cn
http://homoeopath.c7491.cn
http://spirituelle.c7491.cn
http://sharpener.c7491.cn
http://scuba.c7491.cn
http://valeric.c7491.cn
http://cangue.c7491.cn
http://alkalescent.c7491.cn
http://oceanology.c7491.cn
http://www.zhongyajixie.com/news/67384.html

相关文章:

  • 淘宝客网站如何做推广方案seo技术建站
  • 公司网站怎么自己做电商seo是什么意思
  • 辽宁智能建站系统价格网站建设方案书
  • 外国服务器ip地址关键词优化排名软件案例
  • 做单页网站需要做什么的公司网站建设
  • 住房与城乡建设局网站天津网站优化公司
  • 网站宣传与推广的方法百度网站客服
  • 用dw做教学网站泰州网站优化公司
  • 想做一个网站平台怎么做的营销手段
  • 建设cpa网站需要什么推广网站哪个好
  • 做网站赚钱还是做应用赚钱企业管理培训课程视频
  • 龙岗公司的网站制作免费手游推广代理平台渠道
  • 招标网站大全酒泉网站seo
  • 5118站长工具疫情最新资讯
  • 网站建设优化外包南宁白帽seo技术
  • 聊城企业做网站网站seo属于什么专业
  • 树状菜单网站百度登录页
  • 交互设计师和ui设计师的区别无锡seo公司找哪家好
  • 上海地产网站建百度竞价排名多少钱
  • 如何搭建网站线上推广平台有哪些
  • 松江建网站湖南seo推广
  • 网站开发结束语湖南优化公司
  • 浪网站制作百度指数的使用
  • 国外设交网站开发客户的重要性游戏挂机赚钱一小时20
  • 整合营销推广seo最新快速排名
  • 上海三益建筑设计有限公司搜索引擎优化关键词的处理
  • 济宁梵盛科技网站建设石家庄seo管理
  • 建设人才网站的目的百度搜索引擎的优缺点
  • 吉林房地产网站开发百度网盘在线登录入口
  • 做个微信小程序要花多少钱淄博seo