判断一组序列数据是否是堆:

把序列看成数组型的二叉树,如果根节点是i,左子树是2*i,右子树是2*i+1
最大堆:所有父节点都比左子树、右子树大
最小堆:所有父节点都比左子树、右子树小
如果这组序列式符合最大堆或最小堆,则是堆,否则不是

EG:
判断一下序列是否为堆
A(10,50,80,30,60,20,15,18)
B(10,18,15,20,50,80,30,60)
C(10,15,18,50,80,30,60,20)
D(10,30,60,20,15,18,50,80)
将ABCD看成二叉树为:

判断一组序列数据是否是堆

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2021-09-30
  • 2022-02-08
  • 2021-10-21
  • 2021-11-13
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-18
  • 2021-12-02
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案