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"
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