我正在学习堆,我无法理解你应该如何移动每个节点。我将在下面给你一个示例树:
1
/ \
2 3
/ \ / \
4 5 6 7
/ \ /
8 9 10
这就是我的树。我试图让 10 到节点,但不明白我采取的步骤。我会先看看树的底部吗?这是我的尝试:
1
/ \
2 3
/ \ / \
4 5 6 7
/ \ /
8 9 10
-> Move ten up and the two down.
1
/ \
10 3
/ \ / \
4 5 6 7
/ \ /
8 9 2
-> Move the 9 up
1
/ \
10 3
/ \ / \
9 5 6 7
/ \ /
8 4 2
-> move the 7 up
1
/ \
10 7
/ \ / \
9 5 6 3
/ \ /
8 4 2
-> Move the whole left side up and bring the 1 down.
10
/ \
9 7
/ \ / \
8 5 6 3
/ \ /
1 4 2
这就是我最终得到的结果,但我觉得这是不对的,因为它不是一棵有序的树。有人可以帮助我了解我哪里出错了吗?