算法 堆是怎样的一种结构

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 19:53:27
算法 堆是怎样的一种结构
xRnP.JH]#6~BJQ)J(IݙS Ĩ8U5s/tƦi9s̹SVdw5;%_wcE\}Wgshjl=uy)_ 9.ٞĂAkf` ƗB6ZLoH3q+ͅke{l,+|/{`.|HF $6˔U9D!4@! u3aRZڐs=v(|`2<61p%'0̍5Bl. `i AB=U?M̎lWP5J=Յv**U#{[gc: ,Ⱥsdyyp&{ 8>R -ȤF @"\qT kTM&~ALx%A~{|rPT?#%, a]`]G?I1.1ULL]Џ 9RZ.WV1

算法 堆是怎样的一种结构
算法 堆是怎样的一种结构

算法 堆是怎样的一种结构
堆有两个含义,一个是用于动态分配用的堆区,另外一个是一种很重要的数据结构
以下说明都是关于后面的堆:
存储结构是顺序,逻辑结构是完全二叉树,按照各数据元素关键码的次序不同分为大根堆(也就大顶堆)和小根堆(也叫小顶堆),建立好初始堆,就可以在得到单独的最大值(大根堆)或者最小值(小根堆)后,以最短时间(O(log2n))再次得到第二大(或者第二小)的关键码值,并且保持结构还是堆,一般用于优先级队列的实现,像C++stl的priority_queue,还有一种排序叫做堆排序的同样也是以其为基础的