博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[数据结构]堆的建立和排序
阅读量:5281 次
发布时间:2019-06-14

本文共 407 字,大约阅读时间需要 1 分钟。

一、生成小根堆

1、随机生成一棵完全二叉树

2、调整结点56及其子树

3、调整结点77及其子树

4、调整结点45及其子树

5、调整结点18及其子树

6、调整结点29及其子树

(1)调整几点29及其左、右儿子

(2)调整结点29及其左、右儿子

二、堆排序

1、取出当前最小元素3

(1)掐尖

(2)将结点65放到堆顶

(3)交换结点65与结点7

(4)交换节点65与结点29

2、取出当前最小元素7

(1)掐尖

(2)将结点30放到堆顶

(3)交换结点30与结点18

(4)交换结点30与结点29’

(5)已形成一个新的堆,不用再交换

3、取出当前最小元素18

(1)掐尖

(2)将结点77放到堆顶

(3)交换结点77与结点29’

(4)交换结点77与结点30

 

说明:以上图形为graphviz软件所作。

转载于:https://www.cnblogs.com/CQBZOIer-zyy/p/5185411.html

你可能感兴趣的文章
ios中webservice报文的拼接
查看>>
Power BI 报告的评论服务支持移动设备
查看>>
HDU 4920 Matrix multiplication
查看>>
ACdream 1068
查看>>
会声会影毛玻璃制作
查看>>
HDU 2665 Kth number
查看>>
CodeChef DGCD Dynamic GCD
查看>>
记叙在人生路上对你影响最大的三位老师
查看>>
002.大数据第二天
查看>>
python装饰器
查看>>
树上的路径
查看>>
【转载】TCP好文
查看>>
系统平均负载
查看>>
问题总结
查看>>
jenkins升级为2.134
查看>>
软件随笔
查看>>
C/C++知识补充 (1)
查看>>
Fast Poisson Disk Sampling
查看>>
Python Cookbook(第3版)中文版:15.14 传递Unicode字符串给C函数库
查看>>
Linux下SVN自动更新web [转]
查看>>