Índice
1. Conceito e estrutura da árvore
1.2 Conceitos relacionados de árvores
2. Conceito e estrutura de árvore binária
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
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 problemasImplementaçã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! ! !