ヒープについて学習していますが、各ノードをどのように移動する必要があるのか 理解できません。以下にツリーの例を示します。
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
これが最終的な結果ですが、順序付けられたツリーではないため、これは正しくないと感じています。誰かが私が間違った場所を理解するのを手伝ってくれますか?