예제 #1
0
    def teste_pesquisa(self):
        keys = [
            20, 10, 40, 50, 30, 55, 3, 11, 4, 28, 36, 33, 52, 17, 25, 13, 54,
            9, 43, 8, 48
        ]

        chaves_procuradas = [36, 20, 100, 48, 200, 3, 300]
        arr_esperado = [True, True, False, True, False, True, False]

        arvore = BTree(2)

        for i in keys:
            arvore.insert_key(i)

        existe_chave: bool = False
        for i in range(len(chaves_procuradas)):
            no_procura, posicao = arvore.search_tree(chaves_procuradas[i])
            if no_procura is not None and posicao is not None:
                existe_chave = True
            else:
                existe_chave = False
            self.assertEqual(
                existe_chave, arr_esperado[i],
                f"Erro na árvore de teste: o numero {chaves_procuradas[i]} não foi encontrada"
            )
예제 #2
0
 def teste_insercao(self):
     print("TESTE DE INSERCAO NA ARVORE B")
     keys = [
         20, 10, 40, 50, 30, 55, 3, 11, 4, 28, 36, 33, 52, 17, 25, 13, 54,
         9, 43, 8, 48
     ]
     arvore_b_ordem_2 = BTree(2)
     for i in keys:
         arvore_b_ordem_2.insert_key(i)
     arvore_b_ordem_2.print_tree()
     print()
예제 #3
0
    def teste_delete(self):
        print("TESTE DE DELECAO NA ARVORE B")
        keys = [
            20, 10, 40, 50, 30, 55, 3, 11, 4, 28, 36, 33, 52, 17, 25, 13, 54,
            9, 43, 8, 48
        ]
        arvore_b_ordem_2 = BTree(2)
        for i in keys:
            arvore_b_ordem_2.insert_key(i)

        chave_deletada = [36, 33, 3, 10, 25]
        for i in chave_deletada:
            print("Key retirada:", i)
            arvore_b_ordem_2.delete_key(i)
            arvore_b_ordem_2.print_tree()
        print()
예제 #4
0
    def teste_insercao(self):
        keys = [
            20, 10, 40, 50, 30, 55, 3, 11, 4, 28, 36, 33, 52, 17, 25, 13, 54,
            9, 43, 8, 48
        ]
        arr_esperado = [[20], [4, 11], [3], [8, 9, 10], [13, 17], [30, 40, 52],
                        [25, 28], [33, 36], [43, 48, 50], [54, 55]]

        arvore = BTree(2)
        for i in keys:
            arvore.insert_key(i)

        arr_recebido = arvore.get_tree_as_array()
        for i in range(len(arr_esperado)):
            self.assertEqual(
                arr_recebido[i], arr_esperado[i],
                f"Erro! Arvore esta diferente do esperado no node {arr_recebido[i]}, o esperado seria {arr_esperado[i]}"
            )
예제 #5
0
    def teste_pesquisa(self):
        print("TESTE DE PESQUISA")
        keys = [
            20, 10, 40, 50, 30, 55, 3, 11, 4, 28, 36, 33, 52, 17, 25, 13, 54,
            9, 43, 8, 48
        ]
        arvore_b_ordem_2 = BTree(2)
        for i in keys:
            arvore_b_ordem_2.insert_key(i)

        chaves_procuradas = [36, 20, 100, 48]
        for i in chaves_procuradas:
            print("Key:", i)
            no_procura, posicao = arvore_b_ordem_2.search_tree(i)
            if (no_procura is not None and posicao is not None):
                print("Encontrada key no node:", no_procura.keys,
                      " Na posicao:", posicao)
            else:
                print("Nao ha essa chave na arvore")
        print()