【发布时间】:2016-09-05 14:01:00
【问题描述】:
对计算科学有点新手。
我已经掌握了 Ruby 中二叉树的基础知识:
class Node
attr_accessor :left, :right, :value
def initialize(value)
@value = value
end
end
如果我手动构造它,这很好用,例如,如果我希望 tom 成为 ben 的子节点:
ben = Node.new('Ben')
tom = Node.new('Tom')
ben.left = tom
我需要解决的一个挑战是如何为输入的父/子对构建树。这是一个示例输入字符串:
peter tom
peter marie
marie john
tom oscar
我的二叉树看起来像这样:
peter
|
tom marie
| |
oscar john
我想知道是否可以将以下格式"[parent] [child]" 的多个字符串转换为二叉树。
谢谢:)
【问题讨论】:
-
使用
[parent] [child]格式,你如何决定一个孩子是进入left还是right?同样,如果输入包含给定父项的两个以上子项,会发生什么情况? -
值可以是唯一的?
标签: ruby algorithm binary-tree