Ejemplo n.º 1
0
 def test_node_balance_factor(self):
     data = [1, 2]
     avl_tree = AVLTree(data)
     assert avl_tree.root.balance_factor() == -1
     data = [2, 1]
     avl_tree = AVLTree(data)
     assert avl_tree.root.balance_factor() == 1
Ejemplo n.º 2
0
 def test_left_right_rotation_2(self):
     data = [1, 4, 8, 12, 16, 20, 25, 30, 35, 28]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 12
     assert avl_tree.items_level_order() == [
         12, 4, 25, 1, 8, 20, 30, 16, 28, 35
     ]
Ejemplo n.º 3
0
 def test_single_right_rotation_1(self):
     data = [3, 2, 1]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 2
     assert avl_tree.root.left_child.data == 1
     assert avl_tree.root.right_child.data == 3
     assert avl_tree.items_level_order() == [2, 1, 3]
Ejemplo n.º 4
0
 def test_node_update_height(self):
     data = [1, 2]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 1
     assert avl_tree.root.height == 1
     assert avl_tree.root.left_child == None
     assert avl_tree.root.right_child.height == 0
     avl_tree.insert(3)
     assert avl_tree.root.data == 2
     assert avl_tree.root.height == 1
     assert avl_tree.root.left_child.data == 1
     assert avl_tree.root.left_child.height == 0
     assert avl_tree.root.right_child.data == 3
     assert avl_tree.root.right_child.height == 0
Ejemplo n.º 5
0
 def test_right_left_rotation_1(self):
     data = [1, 8, 4]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 4
     assert avl_tree.items_level_order() == [4, 1, 8]
Ejemplo n.º 6
0
 def test_single_right_rotation_2(self):
     data = [40, 50, 30, 10, 5]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 40
     assert avl_tree.items_level_order() == [40, 10, 50, 5, 30]
Ejemplo n.º 7
0
 def test_tree_level_order_traversal(self):
     data = [20, 10, 40, 30, 50]
     avl_tree = AVLTree(data)
     assert avl_tree.items_level_order() == [20, 10, 40, 30, 50]
Ejemplo n.º 8
0
 def test_init_with_iterable(self):
     data = [1, 2]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 1
     assert avl_tree.root.right_child.data == 2
Ejemplo n.º 9
0
 def test_init(self):
     avl_tree = AVLTree()
     assert avl_tree.root is None
Ejemplo n.º 10
0
 def test_right_left_rotation_2(self):
     data = [20, 10, 40, 30, 50, 35]
     avl_tree = AVLTree(data)
     assert avl_tree.root.data == 30
     assert avl_tree.items_level_order() == [30, 20, 40, 10, 35, 50]