def test_deleteRoot():
    BST = BinarySearchTree()
    BST.put(10, "ten")
    BST.put(15, "fifteen")
    BST.put(5, "five")
    BST.put(3, "three")
    BST.put(7, "seven")
    BST.put(12, "twelve")
    BST.put(17, "seventeen")
    assert BST.inOrder(BST.root) == \
           "3 5 7 10 12 15 17"
    BST.delete(10)
    assert BST.inOrder(BST.root) == \
           "3 5 7 12 15 17"
def test_deleteNodeWithTwoChildren():
    BST = BinarySearchTree()
    BST.put(10, "ten")
    BST.put(15, "fifteen")
    BST.put(5, "five")
    BST.put(3, "three")
    BST.put(7, "seven")
    BST.put(12, "twelve")
    BST.put(17, "seventeen")
    BST.delete(15)
    assert BST.inOrder(BST.root) == \
           "3 5 7 10 12 17"
    BST.delete(5)
    assert BST.inOrder(BST.root) == \
           "3 7 10 12 17"
Exemple #3
0
from BinarySearchTree import BinarySearchTree


bst = BinarySearchTree()

bst.insert(5)
bst.insert(3)
bst.insert(8)
bst.insert(1)
bst.insert(4)
bst.insert(2)
bst.insert(7)
bst.insert(6)
bst.insert(9)
bst.insert(10)

print "------preOrder----------"
bst.preOrder(bst.root)
print "------inOrder----------"
bst.inOrder(bst.root)
print "------postOrder----------"
bst.postOrder(bst.root)
print "----------------"
print bst.depth