A类序列 如果满足以下条件,则形成(二进制)堆对于,其中是楼层功能,相当于和对于。因此,第一个成员必须是最小。堆可以被视为标记的二叉树其中第个节点比其任何后代的标签都小(Skiena 1990,第35页)。堆支持在中任意插入和查找/删除最小值每次更新次数(Skiena 1990,第38页)。
列表可以在中转换为堆使用Floyd(1964)算法的次数。例如,鉴于随机排列 ,Floyd的算法给出堆(左图)。右图显示了一个包含30个元素的堆。
| 堆 |
1 | 1 |
2 | 1, 2 |
三 | 1, 2, 3,1,3, 2 |
4 | 1,2, 3, 4,1, 2, 4, 3,1, 3, 2, 4 |
堆的数量在, 2, ... 元素为1、1、2、3、8,20, 80, 210, 896, 3360, ... (组织环境信息系统A056971号),前几项在上表中进行了总结。一个公式由提供
|
(1)
|
具有,、和
堆的数量级别(或等效的,堆的数量元素)由重现关系
|
(7)
|
具有(斯基纳1990年,第36页)。这个可以作为产品编写为
|
(8)
|
其值对于,2, ... 是1、2、80、21964800、7483682586183580080000。。。(组织环境信息系统A056972号).
另请参见
二叉树,完整二叉树,堆(Heapsort),优先排队
与Wolfram一起探索| Alpha
工具书类
弗洛伊德·R·W·。“算法245:Treesort 3。”通信ACM 7, 701, 1964.科努特,D.E。这个计算机编程艺术,第3卷:排序和搜索,第2版。马萨诸塞州雷丁:Addison-Wesley,1998年。Skiena,S.“堆”§1.4.4在里面实施离散数学:组合数学和图论与数学。阅读,马萨诸塞州:Addison-Wesley,第35-39页,1990年。S.S.斯基纳。“堆。”§1.4.4英寸这个算法设计手册。纽约:Springer-Verlag,第35-39页,1997年。斯隆,N.J。答:。序列A056971号和A056972号在“在线整数百科全书”中序列。"参考Wolfram | Alpha
堆
引用如下:
埃里克·魏斯坦(Eric W.Weisstein)。“堆”来自数学世界--A类Wolfram Web资源。https://mathworld.wolfram.com/Heap.html
主题分类