Vários métodos comuns de construção de uma árvore

Método 1:
Condições aplicáveis ​​deste método:

1. Quando atravessamos a árvore, precisamos apenas encontrar o nó filho do nó pai e não precisamos encontrar o nó pai a partir do nó filho.

2. A árvore construída é uma árvore binária

Código de implementação:

class Tree{
    
    
    int value;//代表该点的权值
    int left_son;//左儿子编号
    int right_son;//右儿子编号
    int leftSide_value;//连接左儿子的边的权值
    int rightSide_value;//连接右儿子边的权值


}

Insira de acordo com a descrição do título. Por
exemplo, insira o número do nó, peso do nó, número do filho esquerdo, número do filho direito e o peso da aresta conectando o filho esquerdo ao peso da aresta filho direito.

 for(int i=1;i<=n;i++)//n代表节点的个数
        {
    
    num=sc.nextInt();

        tree[num].value=sc.nextInt();
        tree[num].left_son=sc.nextInt();
		.......
        }

Método 2:
Condições aplicáveis ​​deste método:

1. Quando atravessamos a árvore, precisamos apenas encontrar o nó filho do nó pai e não precisamos encontrar o nó pai a partir do nó filho.

2. Este método compensa uma das deficiências do método 1. O método um é adequado para árvores binárias, não para árvores com vários nós filhos, e este método pode ter vários nós filhos

Código de implementação:

void add(int a, int b){
    
    //表示a为父 b为子
    edge[cnt] = b;
    ne[cnt] = last[a];
    last[a] = cnt++;
}

Acho que ver este código é um pouco tonto. No início, também fiquei. Veja o seguinte processo de pesquisa.
Insira a descrição da imagem aqui
Estamos examinando sua estrutura de armazenamento. Enfileiramos os nós na ordem de entrada. Supondo que exista tal
Insira a descrição da imagem aqui
número da árvore que representa a ordem de entrada, mostramos como o lado direito da árvore está conectado (cnt representa a ordem de entrada e não o número real, a aresta [cnt] é o número real)

Insira a descrição da imagem aqui
Então você pode obter o código da consulta

for(int i=last[a];i>=1;i=ne[i])

Atualizado continuamente!

Acho que você gosta

Origin blog.csdn.net/jahup/article/details/108907953
Recomendado
Clasificación