Beispiel #1
0
    def test_insert(self):
        tree = BinarySearchTree()

        tree.insert(3)
        self.assertIsNotNone(tree.root)
        self.assertEqual(tree.root.key, 3)

        tree.insert(1)
        self.assertEqual(tree.root.left.key, 1)

        tree.insert(5)
        self.assertEqual(tree.root.right.key, 5)

        tree.insert(2)
        self.assertEqual(tree.root.left.right.key, 2)

        tree.insert(4)
        self.assertEqual(tree.root.right.left.key, 4)
Beispiel #2
0
    def init_test_tree(self):
        tree = BinarySearchTree()

        nodes = [Node() for _ in range(7)]
        for i in range(7):
            nodes[i].key = i

        tree.root = nodes[3]

        tree.root.left = nodes[1]
        nodes[1].parent = tree.root
        nodes[1].left = nodes[0]
        nodes[0].parent = nodes[1]
        nodes[1].right = nodes[2]
        nodes[2].parent = nodes[1]

        tree.root.right = nodes[5]
        nodes[5].parent = tree.root
        nodes[5].left = nodes[4]
        nodes[4].parent = nodes[5]
        nodes[5].right = nodes[6]
        nodes[6].parent = nodes[5]

        return tree