Existem várias formas de se implementar uma árvore binária. A mais simples delas é usar um vetor de nós. Dessa forma, cada nó possui pelo menos três valores: uma referência para o pai do nó, uma referência para o filho à esquerda do nó e mais uma outra referência para o filho à direita do respectivo nó. O atributo "pai" vai apontar para a posição na qual o pai do nó se encontra, no vetor. O atributo "esquerda" vai armazenar a posição da raiz da sub-árvore à esquerda do nó, e o atributo "direita" guarda a posição da raiz da sub-árvore direita do nó, no vetor. Além disso, é relevante estabelecer um atributo "dado" que irá armazenar o conteúdo do nó.
É possível adicionar algumas regras à inserção de dados em uma árvore para que ela se torne ordenada. Assim, sempre que um novo dado estiver para ser adicionado junto à árvore, ele será comparado com o nó raiz. Se ele é menor do que a raiz, deverá ser adicionado na sub-árvore esquerda, caso contrário na sub-árvore direita.
Considere que, ao realizar um teste no seu programa que implementa árvores binárias, você inseriu os números de seu RA (da esquerda para a direita) como se cada algarismo fosse um nó na árvore. Dessa forma, altere o código-fonte dado para que seu programa, durante a execução, monte uma árvore binária a partir dos dígitos de seu RA. O seu programa não deve realizar a inserção automaticamente ordenada, ou seja, não é preciso desenvolver um método que realize a inserção ordenadamente. Você mesmo pode construir a árvore (via inserções simples, seguindo as regras), de maneira a compor a árvore ordenada com os números de seu RA. Além disso, você precisará criar uma função que seja capaz de realizar o percurso em-ordem na árvore recém-criada, partindo da raiz e imprimindo na tela os nós visitados de acordo com esse método.
Por exemplo, considere que seu RA é igual a 57231869. Abaixo temos um exemplo de como sua árvore ordenada deveria ser, bem como o resultado do caminhamento em-ordem quando executado a partir da raiz da respectiva árvore.
Visitação em-ordem: 1 2 3 5 6 7 8 9
Anexos:
Soluções para a tarefa
Respondido por
4
As árvores binárias são interessantes considerando a forma que as mesmas são percorridas. Distintos algoritmos possibilitam esse processo, entre eles estão os de busca em largura e busca em profundidade.
A questão exemplifica um outro tipo de busca e percurso, visto que o caminhamento pré-ordem na árvore binária deve partir da raiz a 5 e em seguida ir até 7, 2, 3, 1, 8, 6, após ir até G e por sim, se encerrar em 9.
Bons estudos!
Perguntas interessantes
História,
8 meses atrás
Física,
8 meses atrás
Matemática,
11 meses atrás
Artes,
11 meses atrás
Matemática,
1 ano atrás