Как проверить значение дерева после его обрезки? - PullRequest
0 голосов
/ 11 сентября 2018

Я обрезаю BST, но как после этого проверить значение дерева?

def TrimTree(tree, minVal, maxVal):
    if not tree:
        return 
    tree.left=TrimTree(tree.left, minVal, maxVal)
    tree.right=TrimTree(tree.right, minVal, maxVal)
    if minVal< tree< maxVal:
        return tree
    if tree.val < minVal:
        return tree.right 
    if tree.val>maxVal:
        return  tree.left 

мое дерево определено, как показано ниже, и я также попытался напечатать корневое значение, но оно дало мне ошибку, сказав, что объект 'NoneType' не имеет атрибута 'val'

class Node:
    def __init__(self, val):
        self.val= val
        self.right =None
        self.left= None
root =Node(10)
root.right =Node(35)
root.left=Node(5)
tree1=TrimTree(root, 8, 25)
print tree1.val

как напечатать значение и проверить, работает ли обрезка? спасибо!

...