Beispiel #1
0
        '''
        print('right-left-case: ' + str(node))
        node.right = self._left_left_case(node.right)
        return self._right_right_case(node)


# arr = [13,10,15,5,11,16,4,6]
# tree = AVLTree()
# tree.insert_from_array(arr)
# tree.AVL_insert(None, tree.root, 3)
# BinarySearchTree.inorder(tree.root)

# arr = [30,5,35,32,40]
# tree = AVLTree()
# tree.insert_from_array(arr)
# tree.AVL_insert(None, tree.root, 45)
# BinarySearchTree.inorder(tree.root)

# arr = [13,10,15,5,11,16,4,6]
# tree = AVLTree()
# tree.insert_from_array(arr)
# tree.AVL_insert(None, tree.root, 7)
# BinarySearchTree.inorder(tree.root)

arr = [5, 2, 7, 1, 4, 6, 9, 3, 16]
tree = AVLTree()
tree.insert_from_array(arr)
tree.AVL_insert(None, tree.root, 15)
BinarySearchTree.inorder(tree.root)
Beispiel #2
0
binarySearchTree = BinarySearchTree()

binarySearchTree.insert(binarySearchTree.getRoot(), Node(50))
binarySearchTree.insert(binarySearchTree.getRoot(), Node(30))
binarySearchTree.insert(binarySearchTree.getRoot(), Node(20))
binarySearchTree.insert(binarySearchTree.getRoot(), Node(40))
binarySearchTree.insert(binarySearchTree.getRoot(), Node(70))
binarySearchTree.insert(binarySearchTree.getRoot(), Node(60))
binarySearchTree.insert(binarySearchTree.getRoot(), Node(80))

# Tree Height
print("Height : ", binarySearchTree.getTreeHeight(binarySearchTree.getRoot()))

# Inorder Traversal
print("Inorder Traversal")
binarySearchTree.inorder(binarySearchTree.getRoot())

# Level Order Traversal
print("Level Order Traversal")
treeHeight = binarySearchTree.getTreeHeight(binarySearchTree.getRoot())
for i in range(1, treeHeight + 1):
    binarySearchTree.levelOrder(binarySearchTree.getRoot(), i)

# Level Order Zig-Zag
print("Level Order Traversal Zig-Zag")
leftToRight = True
for i in range(1, treeHeight + 1):
    binarySearchTree.levelOrderZigZag(binarySearchTree.getRoot(), i,
                                      leftToRight)
    leftToRight = not leftToRight
from BinarySearchTree import BinarySearchTree

arvore = BinarySearchTree()
string = 'estrutura estrutura de dados é outro nível de programação'

array = string.split()
print(array)

for i in array:
    arvore.add(i)

ar = arvore.inorder()

print(arvore.frequencia('estrutura'))
        if escolha in 'dD':
            frase = str(input('Digite algo: '))
            arvore.deleteTree()
            lista_frase = frase.split()

            for palavras in lista_frase:
                arvore.add(palavras)

            print('Árvore montada com sucesso!')

        elif escolha in 'eE':
            if not arvore.isEmpty():
                print('----------------------')
                print('Em ordem Ascendente:')
                arvore.inorder()
                print('Em ordem Descendente:')
                arvore.inorder_descendente()
                print('----------------------')

            else:
                raise BinarySearchTreeException('Árvore vazia')

        elif escolha in 'cC':
            if not arvore.isEmpty():
                print('----------------------------------------')
                arvore.listar()
                array = arvore.getValues()
                array_filtrado = set(array)
                for valor in array_filtrado:
                    print(f'{valor}: {arvore.frequencia(valor)}')