分享好友 最新动态首页 最新动态分类 切换频道
数据结构——利用堆进行对数组的排序
2024-12-28 23:15

今天文章的内容是关于我们如何利用堆的特性对我们的数组进行排序,还有就是我们的TopK的问题,这次我们放在的是文件种,我们放入一亿个数字,然后我们取出一亿个数字中最大的十个数,利用上章堆的问题进行解决。

首先就是我们如果对一个数组要进行排序,这个数组是没有任何规律的,就像下面的这个数组。

 

那我们得利用我们堆的特性,因为我们知道堆的特性,首先堆顶的数据一定是最小的,那我们要进行排序之前的话,要做的一个最重要的步骤就是先建立一个堆出来,我们可以用两种方法,一种是向上建堆,另一种就是向下建堆,这两个方法我们都会讲。

向上建堆

首先我们这里给的例子是升序,但是在升序的时候,我们是建立大堆还是小堆呢?答案是,那我们先来看看减小堆的时候,会产生怎样的问题,再来看看大堆,两者相互比较之后,我们就会发现升序就应该建立大堆。

首先就是复用我们上次堆的内容的向上建堆的那个方法,就是,如果这里大家不明白可以回头看看,我这里直接给出代码。

 

我们可以看到这是向上调整,那我们建堆的过程是不是从二叉树的第二层开始往上建堆,比较的就是孩子和父亲的关系,那我们这里就可以写一个循环来完成这个建立堆的过程。

 

然后我们这个过程建立出来堆的样子就是我们的小堆

那我们的代码就是下面这个,其实代码很简答的主要可能难理解。

 
 

这个就是AdjustDown的代码,再堆里讲过,这样就不将了,来看我们如何进行排序的部分

 

end = 0的时候就说明已经排序好了,所以这个就是判断条件,然后来看我们的end一开始就是指向最后一个元素,因为是数组,所以这里表示的就是下标,我们这里就是要注意这个,然后先是交换堆顶元素和最后一个元素的问题,就直接开始调整,但是调整的时候我们end并没有进行–,因为的size位置的参数表示的就是元素个素,然后我们调整的时候因为最后一个元素已经有序了,所以就不用在进行调整了。

 
 
 
 

还有一个TopK问题放在下一篇文章里,因为这样流量多哈哈哈哈哈,下篇文章见。

最新文章
时尚精致的Mac 为什么开始成为更多企业的选择?
“每次都宣传视频剪辑,Mac就适合拿来剪视频”、“Mac长得好看,它就适合给设计师用”、“Mac就是给iOS开发者准备的”...伴随着社交媒体的普及,我们听到了无数媒体与用户的评价,而这些对Mac的固有印象,也随着时间的推移在不断加深。然而
谷歌浏览器手机版下载
Chrome浏览器是由谷歌开发的一款广受欢迎的网络浏览器。它以其速度快、安全稳定及丰富的功能而受到广大用户的青睐。Chrome浏览器支持跨平台,在windows、Mac、Linux、Android和iOS等操作系统上都有相应的版本。1. 快速浏览:Chrome浏览器采
北京市广告监测报告(2024年11月)
    一、传统媒体广告监测情况  2024年11月,全市共监测电视、广播、平面等传统媒体广告32万余条次。电视、广播、平面广告监测量分别占比66%、32%和2%。      传统媒体涉嫌违法广告量排名前三的商品服务类别分别为:营养食品、
用AI生成逼真美女写真:搜狐简单AI全攻略!
二、测评与优缺点总结 在对比各个工具后,我们可以看出,搜狐简单AI以其丰富的功能和友好的操作体验脱颖而出。虽然Artbreeder和DeepArt.io各有特色,但在生成逼真的美女写真方面,搜狐简单AI明显更占优势。特别是在自由度和简单易用性上,
百度快照不显示时间,还需要关注快照更新日期吗?
网站的快照可以看成是搜索引擎认定的最近一次有价值的内容版本,故此以往我们很多时候拿快照的更新时间,用于判断网站新增内容的更新频率,而实际上和网站本身的所谓权重或者降权等概念没有任何关系。原来现实快照日期的位置,现在空空如也
怎样将长链接转成关键词打开?
词令是一款关键词口令直达工具。打开词令,输入口令,直达该口令关联的目标。网址转成口令后,就可以通过词令,输入口令,打开口令关联的目标网址。口令打开网址体验口令是:vip88,请打开词令App或词令官网,输入口令【 vip88 】,搜索直
Peter Yao追求卓越,挑战极限,从绝望中寻找希望,人生终将辉煌!
上周,数据研究公司易观国际发布报告指出,截至今年6月30日,按收入计算,百度在搜索引擎市场的占有率为64.4%,高于第一季度的60.7%。谷歌第二季度的市场占有率从第一季度的26.8%降至26.1%。雅虎中国在搜索引擎市场位居第三位,占有率仅有5
资源网站推荐 篇七:十个资源好网站都在这里!假期玩个爽,让你拥有全世界
创作立场声明:精心收集的几个网站,希望大家喜欢,喜欢的点赞关注并评论,谢谢大家对新人的鼓励与支持!【第一步, 先关注我】大家好, 我是江南俏才子。中秋佳节即将来临,在几天的假日里,有的小伙伴可能会选择外出旅游,但在疫情之下,
电脑开机显示器亮主机亮。鼠标键盘不亮怎么处理 - 百度问
问题分析:电脑开机显示器通电(电源指示灯亮)但无信号或屏幕显示“no sighal”,一般是内存条松动或氧化而接触不良,或显示器数据线接触不良,或内存、显卡、显示器或数据线损坏。处理建议:1.如果显示器通电但显示无信号,则关机(如果
进口电磁流量计厂家排名,进口流量计品牌
面对市场上众多的进口电磁流量计品牌大家该如何选择?随着科技的不断发展,电磁流量计已成为工业领域中重要的流量计量设备。进口电磁流量计,以其稳定,精细,高工艺等优势被大众所选择,那么如何选择一个优质的进口电磁流量计厂家呢?进口
相关文章
推荐文章
发表评论
0评