2012-01-02 41 views
4

私はBSTに関して非常に簡単な質問があります。私は重複したエントリに関するBSTの複数の定義を見てきました。 BSTは、重複したエントリを許可しないものと定義するものと、ノードの左の子が< =ノードの値になり、右の子がノードの値よりも大きいものと定義されているものがあります(左の子はノードよりも右に<、子は> =)です。バイナリ検索ツリーの重複したエントリ

重複したエントリに関するBSTの正式な定義(存在する場合)は何ですか?たとえば、値を挿入した後のBSTの外観はどうでしょうか?3,5,10,8,5,10?

定義を明確にして質問にお答えいただき、ありがとうございます。

+0

「公式の定義」:一例として、この本から採用した分探索木の挿入アルゴリズムを見てみましょうか?あなたは "公式"と何を考えますか?ここでどのレベルの権限が必要ですか? –

+0

重複エントリに関するBSTの最も一般的に受け入れられている定義と同じくらい、それほど権限レベルではないと思います。 – Tareq

答えて

6

一つは、データ構造及びアルゴリズムのバイブルとして知られる、CLRS bookありますこの本の定義では、重複したエントリは、同じキーを含むノードの右のツリーに配置されます。

enter image description here

+0

すごく面白くて軽い答えです。 –

3

重要な点は、ツリー内のない持つ重複が高速検索時間を確保という点です。 ノードの片側に重複がある場合は、続行する前にすべての重複を通過する必要があるため、検索時間が掛かります。による

enter image description here

:アルゴリズムとデータ構造の領域ではよく知られている書籍の

http://en.wikipedia.org/wiki/Binary_search_tree

+0

外部リンクはこの文脈ではあまり役に立ちません。 –

+0

左の子がノードよりも右の子が>よりも大きいツリーでは、それは大きな問題ではありません。最初のノードが見つかると、すべての重複を取得するために正しい子をチェックできます。 –

+0

もちろん、各ノードに要素が表示される回数のカウントを含めることができます –

関連する問題