[Árbol de estructura de datos y árbol binario]

[Árbol de estructura de datos y árbol binario]

1. La definición de árbol y árbol binario

(1) Definición de árbol

Un árbol es un conjunto finito de n nodos, es un árbol vacío (n = 0); o un árbol no vacío
Inserte la descripción de la imagen aquí

(2) Terminología básica

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

(3) La definición de árbol binario

1. La definición de árbol binario

Un árbol binario es una colección de n (n> = 0) nodos. Es un árbol vacío (n = 0) o un árbol no vacío. Para un árbol no vacío: T
(1) Hay uno y solo uno llamado El nodo de la raíz;
(2) Los nodos distintos del nodo raíz se dividen en dos subconjuntos disjuntos T1 y T2, que se denominan subárbol izquierdo y subárbol derecho de T, y tanto T1 como T2. Es un árbol binario.

Inserte la descripción de la imagen aquí

2. Las características básicas de los árboles binarios

(1) El grado del nodo es menor o igual a 2;
(2) Árbol ordenado (los subárboles se dividen en izquierda y derecha, y el orden no se puede invertir arbitrariamente)

Inserte la descripción de la imagen aquí

En segundo lugar, la naturaleza y la estructura de almacenamiento del árbol binario.

(1) La naturaleza del árbol binario

Inserte la descripción de la imagen aquí
Árbol binario completo: Un árbol binario con una profundidad de K y 2 elevado a la potencia de los nodos K-1. (Característica: cada capa está llena de nodos)
Inserte la descripción de la imagen aquí

Árbol binario completo: Un árbol binario con una profundidad de K y n nodos, si y solo si cada nodo corresponde al nodo numerado de 1 an en el árbol binario completo con una profundidad de K.

Inserte la descripción de la imagen aquí

(2) La estructura de almacenamiento del árbol binario

1. Estructura de almacenamiento secuencial

lograr: De acuerdo con el número de nivel de nodo del árbol binario completo, los elementos de datos en el árbol binario se almacenan secuencialmente.
Caracteristicas:
(1) La relación entre los nodos está contenida en su ubicación de almacenamiento;
(2) Un desperdicio de espacio, adecuado para almacenar árboles binarios completos y árboles binarios completos.

Nodo i:
Nodo principal: [i / 2]
Hijo izquierdo: 2i
Hijo derecho: 2i + 1

Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí

#define MAXTSIZE 100   //二叉树的最大结点数
typedef TElemType SqBiTree[MAXTSIZE];//0号单元存储根结点
SqBiTree bt;

2. Estructura de almacenamiento en cadena

(1) Lista enlazada binaria

Inserte la descripción de la imagen aquí

typedef struct BiNode
{
    
    
	TElemType data;   //数据域
	struct BiNode* lchild, * rchild;   //左右孩子指针
}BiNode,*BiTree;   //二叉树结点
BiTree root;

Inserte la descripción de la imagen aquí
En una lista binaria enlazada de n nodos, hay n + 1 campos de puntero nulo

(2) Lista vinculada de tres puntas
Inserte la descripción de la imagen aquí

typedef struct TriTNode
{
    
    
	TElemType data;   //数据域
	struct TriTNode* lchild,* parent * rchild;   //左右孩子指针
}TriTNode,*TriTree;   //二叉树结点

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_46518461/article/details/109262296
Recomendado
Clasificación