Exemplo n.º 1
0
def create_unbalanced_tree_with_equal_weight_on_second_level():
    node_5 = Node(5)
    node_4 = Node(4)
    node_2 = Node(2)
    node_3 = Node(3)

    node_5.set_left_child(node_4)
    node_4.set_parent(node_5)

    node_4.set_left_child(node_2)
    node_4.set_right_child(node_3)
    node_2.set_parent(node_4)
    node_3.set_parent(node_4)

    node_2._set_height(0)
    node_3._set_height(0)
    node_4._set_height(1)
    node_5._set_height(2)

    node_2.set_node_count(1)
    node_3.set_node_count(1)
    node_4.set_node_count(3)
    node_5.set_node_count(4)

    return node_5
Exemplo n.º 2
0
    def test_update_node_count(self):
        node_5 = Node(5)
        node_0 = Node(0)
        node_12 = Node(12)

        tree = AVL(node_5)
        tree._set_root(node_5)
        node_5.set_left_child(node_0)
        node_5.set_right_child(node_12)
        node_0.set_parent(node_5)
        node_12.set_parent(node_5)

        node_5.set_node_count(2)

        node_6 = Node(6)
        node_12.set_left_child(node_6)
        node_6.set_parent(node_12)

        tree._update_node_counts(node_6)

        expect(node_5.get_node_count()).to.be.equal(4)
        expect(node_0.get_node_count()).to.be.equal(1)
        expect(node_12.get_node_count()).to.be.equal(2)
        expect(node_6.get_node_count()).to.be.equal(1)
Exemplo n.º 3
0
def create_valid_avl_tree():
    node_10 = Node(10)
    node_minus_3 = Node(-3)
    node_minus_20 = Node(-20)
    node_5 = Node(5)
    node_3 = Node(3)
    node_15 = Node(15)
    node_20 = Node(20)
    node_12 = Node(12)
    node_13 = Node(13)

    node_10.set_left_child(node_minus_3)
    node_10.set_right_child(node_15)
    node_minus_3.set_parent(node_10)
    node_15.set_parent(node_10)

    node_minus_3.set_right_child(node_5)
    node_minus_3.set_left_child(node_minus_20)
    node_5.set_parent(node_minus_3)
    node_minus_20.set_parent(node_minus_3)

    node_5.set_left_child(node_3)
    node_3.set_parent(node_5)

    node_15.set_left_child(node_12)
    node_15.set_right_child(node_20)
    node_12.set_parent(node_15)
    node_20.set_parent(node_15)

    node_12.set_right_child(node_13)
    node_13.set_parent(node_12)

    node_10._set_height(3)
    node_minus_3._set_height(2)
    node_minus_20._set_height(0)
    node_5._set_height(1)
    node_3._set_height(0)
    node_15._set_height(2)
    node_20._set_height(0)
    node_12._set_height(1)
    node_13._set_height(0)

    node_10.set_node_count(9)
    node_minus_3.set_node_count(4)
    node_minus_20.set_node_count(1)
    node_5.set_node_count(2)
    node_3.set_node_count(1)
    node_15.set_node_count(4)
    node_20.set_node_count(1)
    node_12.set_node_count(2)
    node_13.set_node_count(1)

    return node_10