コンピュータサイエンスの初心者のビット。文字列からRubyバイナリツリーを構築する
私はRubyでバイナリツリーの基本を持っている:私は、例えば、手動でそれを構築する場合、私はtom
がben
の子ノードになりたい場合は
class Node
attr_accessor :left, :right, :value
def initialize(value)
@value = value
end
end
これは、正常に動作します:
ben = Node.new('Ben')
tom = Node.new('Tom')
ben.left = tom
私が把握する必要がある課題の1つは、入力された親子ペアのツリーを構築する方法です。ここでは例として入力文字列です:
peter tom
peter marie
marie john
tom oscar
私のバイナリツリーは次のようになります。
peter
|
tom marie
| |
oscar john
私はに次の形式"[parent] [child]"
で複数の文字列を変換するにいくつかの方向性を得ることができる場合、私は疑問に思ってバイナリツリー。
感謝:)
'[親] [子]'フォーマットでは、あなたは子供がleft' 'に入るかどうかを決定しますどのようにか「正しい」?同様に、入力に与えられた親に対して2つ以上の子エントリが含まれている場合はどうなりますか? – Stefan
値は一意にすることができますか? –