Como excluir uma árvore de busca binária nó

Árvores binárias de pesquisa são utilizados para organizar dados sequencial para a recuperação fácil. Cada nó em uma árvore de busca binária tem entre zero e dois filhos. O filho esquerdo de um nó é sempre menor que o nó e o filho direito é sempre maior. Assim, quando estamos à procura de um nó específico, podemos comparar a nossa meta para o nó atual. Se nossa meta é maior do que o nó atual continuamos buscando para baixo o ramo direito, se o nosso objectivo é menor do que o nó atual que procurar para baixo do braço esquerdo. Isso proporciona um grande benefício na procura em comparação com percorrendo uma lista ordenada desses valores. Excluindo nós de uma árvore binária é um pouco mais complicado do que a adição de novos nós ou encontrar os antigos. Dependendo da situação, podemos ter de reorganizar a árvore para garantir que os filhos de cada nó ainda estão devidamente equilibrado.

Excluindo um nó folha

  • Verifique se o nó não tem filhos.

  • Encontrar o pai do nó. Definir referência criança do pai para null.

  • Remova o nó da sua matriz de armazenamento.

Excluindo um nó com Um Filho

  • Verifique se o nó tem apenas um filho.

  • Encontrar o pai do nó. Definir referência criança do pai para fazer referência ao filho do nó que você está excluindo.



  • Remova o nó da sua matriz de armazenamento.

Excluindo um nó com Dois Filhos

  • Verifique se o nó tem dois filhos.

  • Localizar a maior nó da árvore à esquerda do nó (o predecessor). Isto pode ser feito através do reforço deixado na árvore de um passo, e depois pisar direito até que não haja mais referências certas.

  • Ajuste a referência direita do predecessor para referenciar o filho direito do nó que você está excluindo.

  • Substituir a referência do nó pai ao antecessor.

  • Remova o nó da sua matriz de armazenamento.

dicas & avisos

  • Vários deleções podem causar a sua árvore para tornar-se desequilibrado. Se você achar que seu programa está sendo executado lentamente depois de muitas eliminações, você deve programá-lo para equilibrar a árvore na ocasião.
De esta maneira? Compartilhar em redes sociais:

LiveInternet