Beispiel #1
0
def main():
    # Read each test case

    bst = BST()
    for ele in [2, 7, 4, 8, 5]:
        bst.add(ele)
    print(bst.count_in_range(3, 5))
Beispiel #2
0
class Set():
    def __init__(self):
        self.bst = BST()

    def add(self, e):
        self.bst.add(e)

    def contains(self, e):
        return self.bst.contains(e)

    def remove(self, e):
        self.bst.remove(e)

    #返回set中大于等于e的最小元素
    def ceil(self, e):
        pass

    #返回set中小于等于e的最大元素
    def floor(self, e):
        pass

    def getSize(self):
        return self.bst.getSize()

    def isEmpty(self):
        return self.bst.isEmpty()
def main():
    # Read each test case
    line = sys.stdin.readline()
    items = line.strip().split()
    nums = [int(item) for item in items]

    tree = BST()
    for num in nums:
        tree.add(num)

    print("Print the elements of the tree in order:")
    tree.pre_order()
class BSTSet(Set):
    def __init__(self):
        self.bst = BST()

    # 判断集合是否为空
    def is_empty(self):
        return self.bst.is_empty()

    # 添加 ele 至集合
    def add(self, ele):
        self.bst.add(ele)

    # 是否包含元素 ele
    def contains(self, ele):
        return self.bst.contains(ele)

    # 从集合内删除 ele
    def remove(self, ele):
        self.remove(ele)

    # 获取集合大小
    def get_size(self):
        return self.bst.get_size()
class BSTSet(SetBase):
    def __init__(self):
        self._bst = BST()

    def get_size(self):
        return self._bst.size()

    def is_empty(self):
        return self._bst.is_empty()

    def add(self, e):
        return self._bst.add(e)

    def contains(self, e):
        return self._bst.contains(e)

    def remove(self, e):
        return self._bst.remove(e)
Beispiel #6
0
from BST import BST
li = [17, 18, 19, 14, 13, 11, 10, 9, 20, 21, 32]

for i in range(10):
    BST.add()

BST.display()
print(BST.balanced())
Beispiel #7
0
from BST import BST as BinarySearchTree
tree = BinarySearchTree()
for x in range(4):
    tree.add(x)
tree.printer()
Beispiel #8
0
from BST import BST
import random


tree = BST()

for item in range(30000):
    tree.add(item)

# tree.display()

print(tree.root.height)
Beispiel #9
0
from BST import BST, Node


tree = BST()
tree.add(2)
tree.add(1)
tree.add(3)
tree.add(6)
tree.add(4)
tree.add(7)

print(">>> in-order:")
for i in tree.inorder():
    print(i)

print(">>> post-order:")
for i in tree.postorder():
    print(i)

print("min()", min(tree))
print("max()", max(tree))
assert max(tree) == 7

# k-th max value (order statistics)
assert tree.max(2) == 6
assert tree.max(3) == 4

assert 3 in tree
tree.remove(3)
assert 3 not in tree