我有一种情况,我想从堆中删除一个随机节点,我有什么选择?我知道我们可以轻松删除堆的最后一个节点和第一个节点。但是,如果我们说删除最后一个节点,那么我不确定是否正确定义了从堆中删除随机节点的行为。
例如
_______________________
|X|12|13|14|18|20|21|22|
------------------------
所以在这种情况下,我可以删除节点 12 和 22,这是已定义的,但是我可以删除一个随机节点,例如 13,并且仍然以某种方式维护堆的完整树属性(以及其他属性)吗?