Algoritmo (1) -árbol binario

1. Concepto

1. Nodo

  • Nodo padre
  • Nodo hijo
  • Nodos hermanos: nodos del mismo nodo padre
  • Nodo raíz: un nodo sin un nodo padre
  • Nodos hoja: nodos sin puntos de byte

2 nivel de profundidad

Inserte la descripción de la imagen aquí

  • Altura: cuenta de abajo hacia arriba
  • Profundidad: contando de arriba a abajo
  • Suelo:

3 Árbol binario completo Árbol binario completo

Árbol binario completo:

  • Los nodos de las hojas están todos en la parte inferior;
  • A excepción de los nodos hoja, el resto de los nodos contienen dos nodos izquierdo y derecho.
    Inserte la descripción de la imagen aquí
    Árbol binario completo:
  • Excepto por la última capa, el número de nodos en otras capas debe alcanzar el máximo
  • Los nodos de hojas de la última capa están todos dispuestos a la izquierda.
    Inserte la descripción de la imagen aquí

4 Recorrido del árbol binario

Nombrado de acuerdo con el orden de los nodos raíz Travesía
Inserte la descripción de la imagen aquí
de preorden: raíz izquierda y derecha
Travesía de orden medio: raíz izquierda derecha
Travesía de orden posterior: raíz izquierda y derecha

En segundo lugar, la implementación del código

Método de almacenamiento secuencial basado en matrices

Aplicación: árbol binario completo,
método:
suponga que el nodo raíz es el subíndice i en la matriz, e i = 1
el nodo hijo izquierdo del nodo raíz: i * 2
el nodo hijo derecho del nodo raíz: i * 2 + 1

Inserte la descripción de la imagen aquí
Código principal:
Requisito previo: Los datos de la matriz almacenan los datos de un árbol binario completo

///<summary>
///
///<param name="index"></param>
///</summary>
private void preOrder(int index)
{
    
    
	if(index>=data.Count||data[index].IsNullOrEmpty()){
    
    
		return ;
	}
	int num=index;
	Console.write(data[index]+" ");
	var leftNum=num*2;
	var rightNum=num*2+1;
	preOrder(leftNum);
	preOrder(rightNum);
}

Basado en lista enlazada

Supongo que te gusta

Origin blog.csdn.net/hhhhhhenrik/article/details/93379518
Recomendado
Clasificación