小根堆删除关键字后重建堆 - 叶子结点分析
删除关键字8后,重新建堆的过程如下:
- 将堆的最后一个元素12与根节点进行交换,得到新的堆:12,15,10,21,34,16,8。
- 对于根节点12,与其左右子节点进行比较,选择最小的节点交换位置。由于左子节点15比右子节点10大,所以将根节点12与右子节点10交换位置,得到新的堆:10,15,12,21,34,16,8。
- 继续对根节点10进行比较,选择最小的节点交换位置。由于左子节点15比右子节点21小,所以不需要进行交换,得到新的堆:10,15,12,21,34,16,8。
- 继续对根节点10进行比较,选择最小的节点交换位置。由于左子节点15比右子节点34小,所以不需要进行交换,得到新的堆:10,15,12,21,34,16,8。
- 继续对根节点10进行比较,选择最小的节点交换位置。由于左子节点15比右子节点16小,所以不需要进行交换,得到新的堆:10,15,12,21,34,16,8。
- 继续对根节点10进行比较,选择最小的节点交换位置。由于左子节点15比右子节点8大,所以将根节点10与右子节点8交换位置,得到新的堆:8,15,12,21,34,16,10。
最后的叶子节点是10。
原文地址: http://www.cveoy.top/t/topic/iiL8 著作权归作者所有。请勿转载和采集!