c语言怎么判断一组数字是不是堆

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 03:00:42

c语言怎么判断一组数字是不是堆
c语言怎么判断一组数字是不是堆

c语言怎么判断一组数字是不是堆
比如一组数字15,30,22,93,52,71,要判断他是不是堆排序
这道题目,15是根节点,左孩子30和右孩子22都大于15,同理30的左右孩子分别是93、52,都大于30,22的左孩子71大于它,所以这棵树是个不完全二叉树,并且可以看出它是小堆栈.
做此类题的诀窍在于:按完全二叉树的性质去排列序列,在判断是否孩子结点都大于父亲结点,或者孩子结点都小于父亲结点.

堆排序是选择排序的一种.