Galeria de mapas mentais [Notas de estudo] Árvore de estrutura de dados
Algum conhecimento sobre árvores em estruturas de dados, incluindo árvores de Huffman, pesquisa de tabelas de árvores, árvores binárias de dicas, métodos de passagem de árvores binárias e árvores de abrangência mínima. Todos são bem-vindos para aprender.
Editado em 2023-07-05 11:27:01Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Árvore
Árvore de Huffman
Comprimento do caminho ponderado WPL
Suponha que uma árvore binária tenha n nós folha ponderados, então a soma do comprimento do caminho do nó raiz para cada nó folha e o produto do peso do nó correspondente é chamada de comprimento do caminho ponderado WPL (comprimento do caminho ponderado) da árvore binária .
Os mesmos nós folha constroem diferentes árvores binárias
Os nós folhas com pesos maiores estão mais próximos da raiz e menor é o valor de wpl.
definição
A árvore binária com o comprimento de caminho mínimo ponderado é chamada de árvore de Huffman (também chamada de árvore ótima).
Como construir?
em princípio
Os nós folha com pesos maiores estão mais próximos do nó raiz.
Quanto menor o peso, mais distante o nó folha está do nó raiz.
Encontre o valor pequeno (os nós sintetizados também devem ser comparados entre si)
processo
Não existem nós folha com pesos
aplicativo
Codificação Huffman (codificação de prefixo)
Características da codificação Huffman: Quanto maior o peso, mais curto será o código do caractere e vice-versa.
Na codificação Huffman de um conjunto de caracteres, é impossível que a codificação Huffman de um caractere seja o prefixo da codificação Huffman de outro caractere.
aplicativo
Codificação de caracteres
instruções da máquina
Pesquisa de tabela em árvore
Árvore de classificação binária
esquerda<raiz<direita
AVL de árvore binária balanceada
Uma versão melhorada da árvore de classificação binária (uma árvore de classificação binária especial), tente manter a árvore o mais curta possível!
Como saber se uma árvore está crescendo normalmente?
Fator de equilíbrio = altura da subárvore esquerda - altura da subárvore direita
Árvore de classificação binária com fator de equilíbrio <= 1
Equilibre a profundidade máxima e o número mínimo de nós de uma árvore binária
Árvore B (uma extensão da árvore binária balanceada)
inserir
Criar uma árvore B é um processo de operações de inserção contínua
pista de árvore binária
As condições para o campo de cadeia vazio à esquerda: está no extremo esquerdo da sequência e o ponteiro esquerdo original está vazio.
As condições para o domínio da cadeia vazia à direita: está na extremidade direita da sequência e o ponteiro direito original está vazio.
Método de passagem de árvore binária
para nó raiz
prólogo
raiz-esquerda-direita
ordem intermediária
esquerda-raiz-direita
Posfácio
raiz esquerda-direita
nível
Percorrer linha por linha
árvore geradora mínima
Algoritmo de Prim
Exigir
O peso é o menor e não pode formar um ciclo.
Para perguntas com poucos nós
As etapas principais do algoritmo Prime são: em um grafo conectado ponderado, V é um conjunto contendo todos os vértices U já é um nó na árvore geradora mínima, começando em qualquer vértice v no grafo. ={v}, Repita as seguintes operações: encontre uma aresta com o menor peso entre todas as arestas (u,w)∈E de todas u∈U,w∈V-U, e adicione a aresta (u,w) ao conjunto de arestas encontradas. E adicione o ponto w ao conjunto U. Quando U = V, a árvore geradora mínima é encontrada.
Algoritmo de Kruskal
Primeiro determine os nós e selecione aqueles com os caminhos mais curtos em ordem.
Não é possível formar um anel
Para perguntas com um pequeno número de lados
Ideia básica: edge-led. Em um grafo conectado ponderado, U é o conjunto de todas as arestas, N é o número de vértices e seja SU o conjunto de arestas que já estão na árvore geradora mínima. Repita as seguintes operações: a cada vez selecione uma aresta e∈U-SU com o menor peso e uma aresta que não forme um ciclo com as arestas em SU, e adicione-a a SU. Quando o número de arestas em SU é igual a N-1, a árvore geradora mínima é encontrada.
pergunta
Se um nó não for um nó folha, então ele terá filhos, e esses filhos serão um grupo de irmãos.
O número de nós sem um ponteiro direito é: número do nó raiz de nós não-folha
Exclua os simétricos, conte o número e certifique-se de que esteja sempre menos à esquerda e mais à direita ou mais à esquerda e menos à direita.
Árvore
Comprimento médio de pesquisa ASL
relacionado à altura da árvore
Capítulo 5 Árvores e Árvores Binárias
Travessia de árvore binária e árvore de Huffman
Dificuldade: Conversão entre árvores binárias e árvores e florestas
A maioria dos testes é na forma de questões de múltipla escolha, que também envolvem travessia de árvore e algoritmos de árvore de Huffman.
Árvore
conjunto finito de n nós
O nó raiz é único
Não há limite para o número de subárvores, mas elas não se cruzam.
Grau: o número de subárvores pertencentes ao nó
Árvore binária: grau <=2
natureza
Existem no máximo 2 ^ i-1 nós no i-ésimo nível da árvore binária.
Se a profundidade na árvore binária for k, então existem no máximo 2^k-1 nós. (k>=1)
n0=n2 1, n0 representa o número de nós com grau 0 e n2 representa o número de nós com grau 2.
Em uma árvore binária completa, a profundidade de uma árvore binária completa com n nós é [log2n] 1, onde [log2n] é arredondado para baixo
[Árvore binária] Fórmula de cálculo do nó N = n0 n1 n2
Número total de nós = grau total 1=Oxn0 1xn1 2xn2 ..
árvore binária completa
Todos os nós têm subárvores esquerda e direita e todos os nós folha estão no mesmo nível.
árvore binária completa
Os nós folha só podem aparecer no nível mais baixo e no próximo nível inferior.
E os nós da camada inferior estão concentrados na árvore binária nas posições mais à esquerda da camada.
Correspondência transversal entre árvores, florestas e árvores binárias
amontoar
definição
Deve ser uma árvore binária completa
Uma árvore binária completa permite apenas que a última linha esteja menos que cheia. E a última linha deve ser ordenada da esquerda para a direita. Não deve haver espaço entre os elementos na última linha
Ordem de pilha
dagendui
pequena pilha de raízes
Operações básicas
Armazenamento de pilha
1. Percorra o número de acordo com a sequência de camadas, representada por uma matriz unidimensional
O nó pai é i, o subscrito do nó filho esquerdo é 2i 1 e o nó filho direito é 2i 2 (esta regra é frequentemente usada em algoritmos)
Filtro superior
Apenas o último elemento da árvore viola a ordem do heap
Usado principalmente para inserir novos elementos no heap
Complexidade: O(logN)
Filtrar
Somente o nó raiz viola a ordem do heap
Ajuste o nó raiz para baixo
Complexidade: O(logN)
Construa uma pilha
Como converter um array não ordenado em um heap?
careca
Insira na pilha, filtre
Complexidade: O(NlogN)
baixo para cima
Primeiro ajuste os elementos em um heap e filtre começando da penúltima linha, execute a operação de filtragem no nó pai.
Complexidade: SOBRE)
Aplicação: fila prioritária
duas operações
inserir fila
pop-up elemento mínimo
Pode ser implementado usando um pequeno heap raiz
Como o nó raiz do pequeno heap raiz é mínimo, depois de aparecer, os elementos restantes são ajustados em um heap (coloque o último elemento no nó raiz e filtre)
Complexidade: O(logN)
Classificação de heap: elementos pop-up da fila de prioridade em sequência
Complexidade: O(NlogN)