定义

堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:
- 堆总是一棵完全二叉树;
- 堆中某个节点的值总是不大于或不小于其父节点的值;

操作

假设现在有一个堆(小根堆):
浅谈数据结构_堆[更新中]
tot=1;
现在加入一个数7,我们将其看作一个节点,加入到堆:
浅谈数据结构_堆[更新中]
这是我们发现没有改变堆的性质,于是我们不用理他,接着加入数3,同理,生成节点,加入到堆:
浅谈数据结构_堆[更新中]
堆的性质依旧没有改变,继续加入数0:
浅谈数据结构_堆[更新中]
堆的性质遭到了破坏,于是我们开始维护,将0移动至其父亲节点:
浅谈数据结构_堆[更新中]
发现依旧不符合堆的性质,在往上移:

相关文章:

  • 2022-01-21
  • 2021-08-21
  • 2021-10-08
  • 2022-12-23
  • 2021-07-02
  • 2021-06-13
  • 2022-02-03
猜你喜欢
  • 2022-01-22
  • 2021-05-25
  • 2021-07-23
  • 2021-11-20
  • 2021-09-15
  • 2022-12-23
相关资源
相似解决方案