生活消费
10大排序算法之六:堆排序【不稳定】,复杂度中,不常用堆排序,堆结构更重要
2024-12-31 14:13

算法界的十大排序算法分别是
选择排序、冒泡排序、插入排序、堆排序、希尔排序、归并排序、快速排序、桶排序、计数排序,基数排序
(1)选择排序:10大排序算法之一:选择排序【不稳定】,一般不用选择排序的
(2)冒泡排序:10大排序算法之二:冒泡排序【稳定的】,但复杂度高,一般不用冒泡排序的
(3)插入排序:10大排序算法之三:插入排序【稳定的】,复杂度高,系统常在数据少时用插入排序。
(4)归并排序:10大排序算法之四:归并排序【稳定的】,复杂度中,系统常用归并排序
(5)快速排序:10大排序算法之五:快速排序【不稳定】,复杂度中,系统常用快速排序


请你用堆排序算法,将arr排序为升序


示例:arr = 5 3 1 8 6 2 4
让其最终变为:arr= 1 2 3 4 5 6 8


上一篇文章,我花了重功夫,讲了系统的堆结构,如何手动改写堆结构
我把大根堆和小根堆的实现与代码都写好了

,系统堆结构,手动改写堆结构,堆结构远比比堆排序更重要

咱们今天要说的堆排序,重要的根基知识就是堆结构,这个堆结构
重要的事情,说三遍
堆结构远比堆排序重要
堆结构远比堆排序重要
堆结构远比堆排序重要

有了咱们实现的堆结构,那排序一事就很简单了
咱这样做:

最开始,我们认为arr就是小根堆中的缓存,只不过heapSize=0,实际容量还没有呢
(1)索引arr的i=0–N-1每一个位置,利用heapInsert(int[] arr, int i)函数,不断地纳入i位置,将其加入小根堆arr
(2)然后你会发现,小根堆已经成型了!arr自然已经有序了
复杂度每次i加入都会以log(n)复杂度调整,上浮的动作
需要调整N次
所以复杂度为 o(n*log(n
这与归并排序,快速排序的复杂度一样的
但是,因为堆来回调整,整个顺序乱了,同样的数字相对位置已经无法保证,所以堆排序它不稳定,咱们也不常用的。

利用小根堆做堆排序:手撕代码,很简单了

 

复杂度也挺高的,何必呢?所以也不常用
但是堆排序的思想可以理解
重要的是堆结构


    以上就是本篇文章【10大排序算法之六:堆排序【不稳定】,复杂度中,不常用堆排序,堆结构更重要】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/16994.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
京东万商 v6.2.2手机京东app下载「京东万商 v6.2.2」
uses-permission:'android.permission.INTERNET',允许程序访问网络连接,可能产生GPRS流量uses-permission:'android.permission.
三星Galaxy S8多少钱?三星Galaxy S8价格s8手机「三星Galaxy S8多少钱?三星Galaxy S8价格」
三星Galaxy S8多少钱  三星Galaxy S8的价格预计约6000元。   三星Galaxy S8基于Android7.0深度定制的UI,在主界面通过上下滑
如何设置路虎屏幕投屏?路虎手机「如何设置路虎屏幕投屏?」
要将手机屏幕内容投射到路虎车内的中控屏,有两种主要的方法,一种适用于安卓设备,一种适用于iPhone设备。首先,对于安卓设备,
林峯老婆张馨月再惹争议!用60元山寨手机壳被扒,删帖逃避引群嘲
娱乐圈从来不缺热闹,尤其是那些站在镁光灯边缘的“家属们”。最近,林峯的老婆张馨月(Carina)可谓是“热搜钉子户”,从检查离
百万新娘之爱无悔宝莲乘敏君沏茶的时候用她的手机给天祥发短信手机短信发不出去是什么原因「百万新娘之爱无悔宝莲乘敏君沏茶的时候用她的手机给天祥发短信」
很高兴和大家见面啦,我是小轮娱乐君,请多多指教。宝莲称敏君沏茶的时候,赶紧用她的手机给天祥发了短信,之后又装作有急事的样
小米手机怎么检测硬件,小米手机硬件检测教程
买了小米手机后,很多人会关心配置是否优越或存在不足。接下来,我将分享如何检测小米手机硬件的教程,帮助你了解设备性能与状况
京基智农2024年净利下滑59%
新京报讯(记者王思炀)4月1日,新京报记者了解到,日前召开2024年业绩说明会。2024年,京基智农实现营业收入59.60亿元,同比下
DNF:至尊天空价格&外观汇总!蝴蝶套最贵,墨染丹清最值得拿下
我们都知道自从DNF推出12套普通天空后,就不再推出了!虽说普通天空不再推出,但是至尊天空却一直在推出着。从第一套至尊天空若
两个android手机通过蓝牙连接手机蓝牙连接「两个android手机通过蓝牙连接」
在现代社会中,蓝牙已经成为了一种常见的无线通信技术。通过蓝牙,我们可以实现多种设备之间的连接和数据传输,比如手机与耳机、
炉石盒子工具版炉石传说盒子手机版「炉石盒子工具版」
炉石盒子工具版是一款非常好用的游戏辅助类应用,提供了很多的游戏资讯让用户可以第一时间掌握,而且还提供了最新的新手教学视频