数据结构之二叉树的堆

1.学习一个新事物我们首先了解它的概念。
堆的概念及结构:
如果有一个关键码的集合K={K0,K1,K2,K3…Kn-1},把他所有的元素按照完全二叉树的顺序存储方式存在一个一维数组中,并满足Ki<=k2i+1且ki<=k2i+2(ki>=k2i+1且k>=k2i+2)i=0,1,2,3…,则称之为小堆(或大堆)。将根节点最大的堆称之为大堆,根节点最小的堆称之为小堆。
堆的性质:
(1)对中的某一节点的值总是不大于或不小于根节点的值。
(2)堆总是一颗完全二叉树。

2.实现堆
1.头文件中的内容:
数据结构之二叉树的堆
2.函数的实现:数据结构之二叉树的堆

数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
3.主函数:数据结构之二叉树的堆
4.堆排序
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
数据结构之二叉树的堆
5.TopmaxK问题我们可以建一个小堆来实现,
TopminK问题反之。