2016-12-05 4 views
0

(バイナリ検索ツリーは、各ノードが2つの子atmostを持つことができるバイナリツリーであり、右側はノードより大きく、 。)この仮定は、すべてのバイナリ検索ツリーでは機能しないことを証明してください。

私は反証したいという理論を持っています。任意のバイナリツリーで、リーフノードに探索パス(Sと呼ぶ)を取ると、SのLEFT上のノードはS上のどのノードよりも小さくなければならず、RIGHTの任意のノードは言い換えれば、左側のノード<ノード右側のノード<上のノード。この理論を反証する反例はありますか?

For example if we have this tree:

ノードKの検索パスは次のようになりM-> F-> H-> K

左のノードのセットはC、A、D、G

が含ま右のセットには、V、S、P、T、X、Wが含まれています

良いカウンターの例は何ですか?

ありがとうございます。

+0

「右」と「左」という奇妙な定義があります。確かに「C、A、D、G」は「M-> F-H-> K」の左にありますか? – Blorgbeard

+0

M-> F-H-> K(検索パス)の左側にあるノードは、 "left"セットに属します。右側のものは「正しい」セットに属します。 –

+0

"右のノードの集合にはC、A、D、Gが含まれています"は間違っていますか? – Blorgbeard

答えて

0

これは本当に答えではないが、それは私が「二分探索木」のあなたの定義が少し欠けていると思う...コメントに

に合わないだろう - すべての後に、これはあなたに会います定義:

B 
    \ 
    C 
    /\ 
    A D 

しかし、これは真のバイナリ検索ツリーではありません。あなたの定義には再帰的な関係はありません。バイナリ検索ツリーでは、ノードの左のサブツリーのすべての要素がノードのラベルより小さく、右のサブツリーのすべての要素が大きくなります。

おそらくもっと正確な定義を持つことは、あなたの "理論"について考える上で役に立ちます。

+0

私は明確ではないが、申し訳ありませんが、これはうまくいきません。 BとCを挿入しますが、Aを挿入するとBに残す必要があります。したがって、常にルートから開始して再帰的に下がります。またすみません。 –

関連する問題