Explicação detalhada da árvore binária - versão da linguagem C [estrutura de dados]

Índice

editar

1. Conceito e estrutura da árvore

1.1 O conceito de árvore

1.2 Conceitos relacionados de árvores

1.3 Representação da Árvore

2. Conceito e estrutura de árvore binária 

 2.1 Conceito

2.2 Árvores Binárias Especiais

2.3 Propriedades das Árvores Binárias 

2.4 Exercícios simples de árvore binária 

2.5 Estrutura de armazenamento da árvore binária

2.5.1 Armazenamento Sequencial - Heap

2.5.2 Armazenamento em cadeia


1. Conceito e estrutura da árvore

1.1 O conceito de árvore

Uma árvore é uma estrutura de dados não linear , que é um conjunto de relacionamentos hierárquicos compostos por n (n>=0) nós finitos. É chamada de árvore porque parece uma árvore de cabeça para baixo, o que significa que tem as raízes voltadas para cima e as folhas voltadas para baixo.

Reabastecimento: 

Existe um nó especial chamado nó raiz, e o nó raiz não possui nós predecessores. Exceto o nó raiz, os outros nós são divididos em M (M>0) conjuntos disjuntos T1, T2, ..., Tm, cada conjunto Ti (1<= i <= m) é uma estrutura e subárvores semelhantes a árvores. O nó raiz de cada subárvore possui um e apenas um predecessor, podendo ter zero ou mais sucessores. Portanto, a árvore é definida recursivamente.


 1.2 Conceitos relacionados de árvores


Lembrete caloroso: os principais pontos de aprendizado marcados em vermelho! ! !

Grau do nó: O número de subárvores contidas em um nó é chamado de grau do nó; conforme a figura acima: A é 6

Nó folha ou nó terminal: um nó com grau 0 é chamado de nó folha; conforme mostrado na figura acima: B, C, H, I... e os demais nós são nós folha

Nós não terminais ou nós de ramificação: nós cujo grau não é 0; como mostrado na figura acima: nós como D, E, F, G... são nós de ramificação

Nó pai ou nó pai: Se um nó contém nós filhos, esse nó é chamado de nó pai de seus nós filhos; como mostrado acima: A é o nó pai de B

Nó filho ou nó filho: o nó raiz da subárvore contida em um nó é chamado de nó filho do nó; conforme mostrado acima: B é o nó filho de A

Nós irmãos: nós com o mesmo nó pai são chamados de nós irmãos (irmãos); conforme mostrado acima: B e C são nós irmãos

Grau da árvore: Em uma árvore, o grau do maior nó é chamado de grau da árvore; conforme mostrado acima: o grau da árvore é 6

Altura ou profundidade da árvore: o nível máximo de nós na árvore; conforme mostrado acima: a altura da árvore é 4

Nós primos: nós cujos pais estão na mesma camada são primos; conforme mostrado na figura acima: H e I são nós irmãos

Antepassados ​​de um nó: todos os nós no ramo da raiz ao nó; conforme mostrado na figura acima: A é o ancestral de todos os nós

Descendentes: Qualquer nó na subárvore com raiz em um nó é chamado de descendente do nó. Como mostrado acima: todos os nós são descendentes de A

Floresta: Uma coleção de m (m>0) árvores disjuntas é chamada de floresta; (a coleção mesclada aprendida posteriormente é uma floresta)

Devemos entender esses conceitos, porque vamos perguntar como encontrá-los mais tarde nas perguntas. Por exemplo: Encontre a profundidade de uma árvore binária


1.3 Representação da árvore

A estrutura da árvore é mais complicada do que a tabela linear e é mais problemática para armazenar e expressar. Como o intervalo de valores é salvo, a relação entre nós e nós também é salva. Na prática, existem muitas maneiras de representar árvores, como como: representação do pai, representação do filho, representação do pai filho e representação do irmão filho. Aqui nós simplesmente entendemos a notação de irmão filho mais comumente usada.


representação de código 

 representação de desenho



2. Conceito e estrutura de árvore binária 

 2.1 Conceito

Uma árvore binária é um conjunto finito de nós:

1. ou vazio

2. Consiste em um nó raiz mais duas árvores binárias chamadas subárvore esquerda e subárvore direita

Imagem aqui! ! !


 Como pode ser visto na figura acima:

   1. Não há nó com grau maior que 2 na árvore binária

    2. As subárvores da árvore binária são divididas em esquerda e direita, e a ordem não pode ser invertida, então a árvore binária é uma árvore ordenada


2.2 Árvores Binárias Especiais

      Introdução à árvore binária completa e à árvore binária completa


2.3 Propriedades das Árvores Binárias 


2.4 Exercícios simples de árvore binária 

2.4.1

 Solução de 3 segundos usando propriedades

2.4.2

Observamos essa árvore binária completa e podemos concluir que há no máximo três graus na árvore binária, e os graus são 0, 1 e 2. E um grau de 1 só pode ter dois valores 0 ou 1

Neste momento, podemos usar a propriedade 3 para representar n2 com n0, para que possamos calcular o número de nós folha (ou seja, o número de nós com grau 0)


 2.4.3

Qual é o intervalo de nós de uma árvore binária completa de altura h?

Valor mínimo: quando houver apenas um nó na camada h (por que há um nó, porque o título é sobre uma árvore binária completa, se não houver nó na camada h, é uma árvore binária completa na h- 1 camada)


2.4.4



2.5 Estrutura de armazenamento da árvore binária

As árvores binárias geralmente podem ser armazenadas usando duas estruturas, uma estrutura sequencial e uma estrutura em cadeia.

2.5.1 Armazenamento Sequencial - Heap

Armazenamento de estrutura seqüencial é usar arrays para armazenamento.Geralmente, arrays são adequados apenas para representar árvores binárias completas, porque árvores binárias não completas irão desperdiçar espaço. Na realidade, apenas o heap será armazenado em um array, e explicaremos especificamente o heap nos próximos capítulos. O armazenamento sequencial de árvore binária é fisicamente uma matriz e logicamente uma árvore binária. 

Diagrama Lógico de Armazenamento Sequencial

A estrutura de armazenamento sequencial é aplicável apenas a árvores binárias completas e árvores binárias completas. Ela é armazenada em uma matriz e o relacionamento subscrito entre pai e filho pode ser calculado.


 Se não for uma árvore binária completa e uma árvore binária completa, os seguintes problemas surgirão, há um desperdício de espaço (não adequado) , a seguinte estrutura de armazenamento em cadeia é mais adequada para esse tipo de árvore binária


2.5.2 Armazenamento em cadeia

A estrutura de armazenamento vinculado da árvore binária significa que uma lista vinculada é usada para representar uma árvore binária, ou seja, um link é usado para indicar o relacionamento lógico dos elementos. O método usual é que cada nó na lista vinculada seja composto de três campos, o campo de dados e os campos de ponteiro esquerdo e direito, e os ponteiros esquerdo e direito são usados ​​para fornecer os endereços de armazenamento dos pontos de link onde o filho esquerdo e filho direito do nó estão localizados. A estrutura da cadeia é dividida em cadeias binárias e cadeias triplas. No momento, geralmente usamos cadeias binárias em nossos estudos. Os cursos posteriores aprenderão estruturas de dados de alto nível, como árvores rubro-negras, que usarão cadeias triplas.

Corrente de dois garfos e corrente de três garfos



O armazenamento sequencial de árvore binária (heap) e o armazenamento encadeado neste artigo apresentarão brevemente o conceito primeiro, e o seguinte conteúdo será explicado posteriormente: o
conceito e a estrutura do heap, a implementação do heap, a classificação do heap e o TOP- K problemas

Implementação da estrutura em cadeia da árvore binária

Se você acha que o artigo é bom, aguardo seu link triplo de um clique. Seu incentivo é a fonte de motivação para minha criação. Vamos trabalhar juntos e nos vemos no topo! ! !

Acho que você gosta

Origin blog.csdn.net/qq_58286439/article/details/130536352
Recomendado
Clasificación