Se você quiser aprender bem a árvore na estrutura de dados, deve entender os conceitos básicos da árvore, caso contrário, ficará cada vez mais caótico.
Introdução à árvore
Árvore: É um conjunto finito de n (n> = 0) nós. Quando n = 0, é chamado de árvore vazia. A árvore é uma estrutura lógica
E qualquer árvore não vazia deve satisfazer:
1) Há um e apenas um nó específico chamado raiz
2) Quando n> 1, os nós restantes podem ser divididos em m (m> 0) conjuntos finitos sem interseção, cada um dos quais é uma árvore, chamada de subárvore do nó raiz
Conclusão: Existem apenas n-1 arestas em uma árvore com n nós
A figura a seguir é um exemplo para entender o conceito da árvore
Conceito básico de árvore
1. Nó ancestral e nó descendente: se k é o nó descendente, ABE é o nó ancestral de k
2. Nó pai e nó filho: Se k é o nó filho de E, e E é o nó pai de k
3. Nó irmão: o nó que tem os mesmos pais é chamado de nó irmão, como K e L são nós irmãos
4. Grau: O número de nós filhos de um nó na árvore é chamado de grau do nó, por exemplo, o grau do nó B é 2
5. O grau da árvore: o grau máximo na árvore é chamado de grau da árvore, conforme mostrado na figura acima, o grau da árvore é 3
6. Nós de ramificação: nós com grau maior que 0 são chamados de nós de ramificação (nós com filhos), como ABCDE
7. Nós folha: nós com grau 0 são chamados de nós folha (nós sem filhos), como FGHIJKL
Nota: Alguns livros chamam a primeira camada como a camada 0, você precisa prestar atenção, aqui a primeira camada é definida como a primeira camada
8. Nível do nó: por exemplo , o nó A está na primeira camada, o nó B está na segunda camada, o nó E está na terceira camada e o nó K está na quarta camada.
9. A altura do nó: começando do nó folha e acumulando camada por camada, como a altura do nó B é 3.
10. A profundidade do nó : começando do nó raiz e acumulando de cima para baixo camada por camada (exatamente o oposto da altura do nó), como a profundidade do nó B é 2
A altura (profundidade) da árvore é o número máximo de nós na árvore
11. Árvore ordenada: Se a posição de B e D for trocada, a árvore na imagem acima se torna outra árvore, então a árvore na imagem acima é uma árvore ordenada
12. Árvore não ordenada: Se a posição de B e D for trocada, a árvore na imagem acima ainda é a mesma árvore, então a árvore na imagem acima é uma árvore não ordenada
13. Caminho: o caminho entre dois nós na árvore é composto da sequência de nós passados entre esses dois nós (o caminho deve ser de cima para baixo)
14. Comprimento do caminho: o número de arestas experimentadas no caminho. Por exemplo, o caminho de A a E tem dois lados, então o comprimento do caminho é 2
15. Floresta: m (m> = 0) uma coleção de árvores disjuntas. Árvores e florestas podem ser convertidas umas nas outras. Por exemplo, se o nó raiz A for removido da figura acima, ele se tornará composto por três árvores. Floresta, adicione um nó raiz A na figura abaixo para se tornar uma árvore
Natureza da árvore
1. O número de nós na árvore é igual ao grau de todos os nós mais 1
2. Existem no máximo m ^ (i-1) nós no i-ésimo nível na árvore de grau m (i> = 1)
3. A árvore m-ária com altura h tem no máximo (m ^ h) / (m-1) nós (a conclusão 3 é derivada da conclusão 2)
4. A altura mínima de uma árvore m-ária com n nós é, logm arredondado para cima (n (m-1) +1)
Propriedade de interpretação 1: o grau de todos os nós de folha é 0, portanto, os nós de folha não são considerados, apenas os nós de ramificação são considerados. O grau de E é 2 (K e L respectivamente), o grau de B é 2 (E, F), o grau de C é 1 (G), o grau de D é 3 (H, I, J), e o grau de A é 3 (B, C, D). Neste momento, você descobrirá que há um nó que não está incluído, que é o nó raiz A, então adicione 1. Esta é a origem desta conclusão
Propriedade de interpretação 2: Suponha que cada nó tenha um grau máximo m. A primeira camada pode ter apenas um nó, o número máximo de nós na segunda camada é m, a terceira camada é m * m, e assim por diante, o número máximo de nós na i-ésima camada é m ^ (i- 1)
Propriedade de interpretação 3: basta somar todos os nós na conclusão 2 para obter esta conclusão (derivada usando a fórmula de soma da sequência geométrica aprendida no ensino médio)
subtração mal colocada
Sn = a1 + a2 + a3 + ... + an
Sn q = a1 q + a2 q +… + a (n-1) q + an q = a2 + a3 +… + an + an q
Subtraia as duas fórmulas acima para obter (1-q) Sn = a1-an q
Interpretação 4: A conclusão 4 é derivada com base na conclusão 3. Da conclusão 3, podemos ver que n = (m ^ h-1) / (m-1), por que arredondar para cima? Porque existem decimais, isso prova que existem nós na última camada
Se você não entende as propriedades 2, 3 e 4, pode dar um exemplo, conforme mostrado na figura abaixo. Substituir a fórmula nela pode aprofundar o entendimento
Este artigo foi citado em "Wang Dao Postgraduate Entrance Examination"
Todos são bem-vindos para ler. Tenho conhecimento limitado e, inevitavelmente, há erros ou omissões no blog que escrevi. Espero que vocês possam me dar alguns conselhos. Obrigado.