def test_find(self):
     bst = BinarySearchTree()
     seed(0)
     data = sample(range(1, 400), k=123)
     for datum in data:
         bst.add(datum)
     self.assertEqual(bst.find(data[0]).key, data[0])
     self.assertEqual(bst.find(401), None)
 def test_recursive_find(self):
     bst = BinarySearchTree()
     seed(0)
     data = sample(range(1, 400), k=20)
     rc.recursion_count = 0
     for datum in data:
         bst.add(datum)
     rc.recursion_count = 0
     bst.find(data[11])
     self.assertGreater(rc.recursion_count, 0)
Beispiel #3
0
 def test_find_nontrivial_tree(self):
     bst = BinarySearchTree()
     data = [20, 50, 1, 150, 42]
     for d in data:
         bst.insert(d)
     for d in data:
         self.assertEqual(bst.find(d).getData(), d)
Beispiel #4
0
 def test_find_present_value(self):
     bst = BinarySearchTree()
     seed(0)
     data = sample(range(1, 400), k=123)
     for datum in data:
         bst.add(datum)
     self.assertEqual(bst.find(data[0]).data, data[0])
 def test_remove(self):
     bst = BinarySearchTree()
     seed(0)
     data = sample(range(1, 100), k=10)
     for datum in data:
         bst.add(datum)
     bst.remove(data[0])
     self.assertEqual(bst.find(data[0]), None)
Beispiel #6
0
 def test_find_single_tree(self):
     bst = BinarySearchTree(10)
     self.assertNotEqual(bst.find(10), None)
     self.assertEqual(bst.find(10).getData(), 10)
Beispiel #7
0
 def test_find_empty_tree(self):
     bst = BinarySearchTree()
     self.assertEqual(bst.find(10), None)
#!/usr/bin/env python3

import random

from binarysearchtree import BinarySearchTree

min = 0
max = 100
size = 10
array = [random.randint(min, max) for x in range(0, size)]
print(array)
bst = BinarySearchTree()

for element in array:
    bst.add(element)

elementToFind = array[random.randint(0, len(array) - 1)]
node = bst.find(elementToFind)
keyLargerThanK = bst.keyLargerThanK(elementToFind)
if node is not None:
    print(node.getData())
    if keyLargerThanK is not None:
        print("key larger than " + str(elementToFind) + " : " + str(keyLargerThanK.getData()))
    else:
        print("larger element not found")
else:
    print(str(elementToFind) + " not found")