예제 #1
0
 def test_height(self):
     tree = BST()
     tree.add_value(100)
     self.assertEqual(tree.height(), 0)
     tree.add_value(80)
     self.assertEqual(tree.height(), 1)
     tree.add_value(200)
     self.assertEqual(tree.height(), 1)
     tree.add_value(60)
     self.assertEqual(tree.height(), 2)
     tree.add_value(90)
     self.assertEqual(tree.height(), 2)
     tree.add_value(0)
     self.assertEqual(tree.height(), 3)
     tree.add_value(-3)
     self.assertEqual(tree.height(), 4)
     tree.add_value(1)
     self.assertEqual(tree.height(), 4)
예제 #2
0
 def test_empty_height(self):
     tree = BST()
     self.assertEqual(tree.height(), -1)
예제 #3
0
from Trees.src.trees.bst_tree import BST

if __name__ == '__main__':
    a = BSTNode(50)
    b = BSTNode(40)
    c = BSTNode(35)
    d = BSTNode(37)
    e = BSTNode(45)

    a.left = b
    b.left = c
    c.right = d
    b.right = e

    tree = BST(a)
    print("Tree height:", tree.height())
    print("Tree length:", len(tree))
    node_min = tree.get_min_node()
    print("Tree min:", node_min.value)
    node_max = tree.get_max_node()
    print("Tree max:", node_max.value)
    node_45 = tree.get_node(45)
    print("Tree 45", node_45.value)
    node_50 = tree.get_node(50)
    print("Tree 50", node_50.value)
    new_tree = BST()
    new_tree.add_value(100)
    new_tree.add_value(75)
    new_tree.add_value(200)
    new_tree.add_value(300)
    new_tree.add_value(30)