Exemplo n.º 1
0
def test2_binary():
    nodes = 'badce'
    tree = btree.BinaryTree()  # embed wrapper in viewer
    for c in nodes:
        tree.insert(c)  # make a binary tree
    shownodes(nodes)
    viewer.drawTree(tree.tree)  # ask viewer to draw it
Exemplo n.º 2
0
 def onInputLine(self, line, viewer):  # on test entry at bottom
     items = line.split()  # make tree from text input
     t = btree.BinaryTree()  # draw resulting btree
     for x in items:
         t.insert(x)  # no onClick handler here
     viewer.drawTree(t.tree)
# this almost works, but btree would have to return value, not 1|None


class Value:
    def __init__(self, key, value):
        self.key, self.value = key, value

    def __cmp__(self, other):
        return cmp(self.key, other.key)

    def __repr__(self):
        return '[%s=%s]' % (self.key, self.value)


class Key:
    def __init__(self, key):
        self.key = key


if __name__ == '__main__':
    import btree
    tree = btree.BinaryTree()
    for (key, val) in (('bob', 1), ('ann', 2), ('cam', 3)):
        tree.insert(Value(key, val))
    print tree
    print tree.lookup(Key('cam'))  # use .val for value