怎么判断一个序列是不是堆,求具体判断方法如(100.86,48,73,35,39,42,57,66,21)(12,70,33,65,24,56,48,92,86,33)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 13:52:31
怎么判断一个序列是不是堆,求具体判断方法如(100.86,48,73,35,39,42,57,66,21)(12,70,33,65,24,56,48,92,86,33)

怎么判断一个序列是不是堆,求具体判断方法如(100.86,48,73,35,39,42,57,66,21)(12,70,33,65,24,56,48,92,86,33)
怎么判断一个序列是不是堆,求具体判断方法
如(100.86,48,73,35,39,42,57,66,21)
(12,70,33,65,24,56,48,92,86,33)

怎么判断一个序列是不是堆,求具体判断方法如(100.86,48,73,35,39,42,57,66,21)(12,70,33,65,24,56,48,92,86,33)
把这个序列看成数组型的二叉树,如果根结点是i,左子树是2*i,右子树是2*i+1,每个根结点都比左子树和右子树大,就是大根堆,或者根结点比左子树和右子树都小,那就是小根堆.