学習データ構造の第十日

次のコードの分析は、分析の目的は、回転を達成するためにどのような操作、それを回転させる際に知っていることです

2つ目の目的は次のとおりです。また、どのようにそれを横断するために、この後の回転を知っていますか?

 

私は、そのノードがまだ二分探索木の性質を満たしており、第二の点は、それが回転しても、目的について少し理解することだと思うが、それは、よりバランスされています。

だから、二分探索木と他の操作を見つけるために変更されません。

 

まず、コードを読んで、次に書き始めました。

 

 

最初のノード上にある、あなたは高さフィールドを追加する必要があり、それは高さがある表します。

ノード値に保存されているキーである。目的は、キーと値が分離されているように、より柔軟であり、キーは、どのくらいこの値どのくらいです。

 

 

オーダートラバーサルの後に行うことである二分探索木、かどうかは、配列の要素で内部を見て歩いた後、配置の昇順になっていません。

それは配列の昇順である場合には、二分探索木です。

 

 ここではその機能は次のとおりです。機能がバランスされます。

ツリーが空の場合、これは木のバランスであること。

 

 因子の高さを減算することにより適切なバランスとして、すなわち、左の部分木の高さ右サブツリーマイナスバランス因子、左の高さ:バランス係数関数を得ます。

理由:それは左のカットの権利であることをここに団結し、時間をバランスさは、その後、絶対値であるので、これを恐れてはいけません。

 

 ここではそれは次のようになります。

右回転の場合は、確かにLLの状況の下で右回転を必要とします。

だから、右回転:いいえ回転は、我々が考慮しなければならないノードに、各フィールドのノードを必要とするかは重要。

だから、高さフィールドを更新する必要があります。

 

 

 leftRotateの場合、この関数の定義は、回転後のルートノードことを知っていることもあります!

 

 それはまた、因子分析のために残され、現在の因子の分析、です。

 

 三つの条件が削除ノードに覚えておく必要が削除BST。

 

 AVL木、回転させるために:追加または時間の必要性を削除するときは回転します。

このisBST利用するには場所がない、しかし、あなたがいることを知っている場合:意義はisBSTは:教えてくれた:ツリーは二分探索木ではありませんした後にどのように決定するか、このツリーの空想の先行順走査は、大きさの順ではありません配置。

しかし、右の木、ツリーのトラバースを言えば必ずそれのない場合には、少なくとも二つの横断方法:事実はに関連していないのですか?

AVL木を達成するために、独自の次の章を参照してください。

おすすめ

転載: www.cnblogs.com/startFrom0/p/12639818.html
おすすめ