示例#1
0
def test_get():
    root = Node('b', 5)
    root.left = Node('a', 3)
    root.right = Node('c', 2)
    bst = BST(root)

    assert bst.get('a') == 3
    assert bst.get('c') == 2
    assert bst.get('d') is None
示例#2
0
 def testGet(self):
 	
     tree = BST()
     keys = [10,5,15,2,7,12,20]
     vals = ["a","b","c","d","e","f","g","h","i"]
     tree.makeBST(keys,vals)
     #get vals for a number of keys we have just placed in the binary tree
     self.assertEqual(tree.get(5).getValue(),"b")
     self.assertEqual(tree.get(15).getValue(),"c")
     self.assertEqual(tree.get(2).getValue(),"d")
     self.assertEqual(tree.get(7).getValue(),"e")
     self.assertEqual(tree.get(12).getValue(),"f")
     #check if getting a value not in the tree returns none
     self.assertEqual(tree.get(18),None)
示例#3
0
#!/home/hmsjwzb/python/bin/python3

from BST import BST
from StdIn import StdIn

if __name__ == '__main__':
    st = BST()
    i = 0
    StdIn = StdIn()
    while not StdIn.isEmpty():
        key = StdIn.readString()
        i += 1
        st.put(key, i)

    ##print(st.select(3))
    print(st.rank('L'))
    print(st.height())

    for s in st.keys():
        print(s + " " + str(st.get(s)))