2017-07-28 22 views
0

ノードをバイナリツリーから削除する必要がある場合、削除するノードの子ノードをどのように処理する必要がありますか。例えば。このツリーで:子ノードを持つバイナリツリーのノードを削除する

100がルートノードである
100 
/
    10 
/\ 
5 20 

1051020の左の子が10の右の子である、100の左の子です。だから、10を削除した後、520はどうなりますか?

+1

2つの子ノードを持つノードをバイナリ検索ツリーで削除する方法はありますか(https://stackoverflow.com/questions/8292661/how-to-delete-a-node-with-2バイナリ検索ツリー内のノードノード) – spectras

答えて

0

削除後に何をすべきかはあなたの選択です。子供の1人をそのような特定の基準の上に移動したいと思うでしょう。子供のどちらかが親の代わりになるでしょう。

  1. delete node in Binary Search Tree
  2. delete node in AVL
  3. Heapify in Heapsort
  4. 以上。

これは、常に客観的に解決するために取るべき選択肢です。

関連する問題