判别关键字序列42 13 91 23 24 16 5 88是否为堆为什么
这个关键字序列不是堆。
堆是一种特殊的二叉树,满足以下两个条件:
- 父节点的键值总是大于或等于它的子节点的键值。
- 堆总是一棵完全二叉树,也就是说除了最后一层外,其他层的节点都是满的,最后一层的节点都靠左排列。
对于这个关键字序列,我们可以看到:
- 如果按照从小到大的顺序将这些数字插入到一个空的堆中,那么最终得到的不是一个满足堆的定义的堆。具体来说,如果我们按照顺序将这些数字插入到一个空的堆中,得到的结果是:
42 | 13 91 | | 23 24 16 5 | 88
这不是一个满足堆的定义的堆,因为父节点的键值不总是大于或等于它的子节点的键值。例如,23和24是同级的兄弟节点,但是23比24大,这违反了堆的定义。
因此,这个关键字序列不是堆。
原文地址: https://www.cveoy.top/t/topic/hrsw 著作权归作者所有。请勿转载和采集!