Árbol binario en C
En C, A árbol binario es una instancia de una estructura de datos de árbol con un nodo principal que puede poseer un número máximo de dos nodos infantiles; 0, 1 o 2 nodos de descendencia. Cada nodo en un árbol binario tiene un valor propio y dos consejos para sus hijos, un puntero para el niño izquierdo y el otro para el niño correcto.
Declaración de árbol binario
A árbol binario se puede declarar en c usando un objeto llamado estructura que representa uno de los nodos en el árbol.
nodo de estructuraArriba hay una declaración de uno árbol binario Nombre del nodo como nodo. Contiene tres valores; Una es la variable de almacenamiento de datos y los otros dos son los consejos para el niño. (Niño izquierdo y derecho del nodo principal).
Hechos del árbol binario
Incluso para grandes conjuntos de datos, utilizando un árbol binario Hace que la búsqueda sea más fácil y rápida. El número de ramas de los árboles no se limita. A diferencia de una matriz, se pueden hacer y aumentar los árboles de cualquier tipo en función de lo que se requiere de un individuo.
Implementación de árbol binario en C
La siguiente es una guía paso a paso para implementar un Árbol binario Cª.
Paso 1: declara un árbol de búsqueda binario
Cree un nodo de estructura que tenga tres tipos de datos, como datos, *Left_child y *Right_child, donde los datos pueden ser de tipo entero, y los nodos *Left_child y *Right_child pueden declararse como nulos o no.
nodoPaso 2: Crear nuevos nodos en el árbol de búsqueda binario
Cree un nuevo nodo creando una función que acepte un entero como argumento y proporciona el puntero al nuevo nodo creado con ese valor. Use la función malloc () en C para la asignación de memoria dinámica para el nodo creado. Inicialice al niño izquierdo y derecho para nulo y devuelva el nombre de noganza.
struct node* create (datos de tipo de datos)Paso 3: inserte niños derecha e izquierda en árbol binario
Crear funciones insert_left e insert_right que aceptarán dos entradas, que son el valor que se insertará y el puntero al nodo al que se conectarán ambos niños. Llame a la función Crear para crear un nuevo nodo y asigne el puntero devuelto al puntero izquierdo del niño izquierdo o el puntero derecho del niño derecho del padre raíz.
struct node* insert_left (struct node* root, datos de tipo de datos)Paso 4: Mostrar nodos de árbol binario utilizando métodos de transversal
Podemos mostrar árboles utilizando tres métodos de recorrido en C. Estos métodos transversales son:
1: Recorrido por adelantado
En este método transversal, pasaremos por los nodos en una dirección desde Parent_node-> Left_child-> Right_child.
void pre_order (nodo * root)2: transversal posterior al orden
En este método de recorrido, pasaremos por los nodos en una dirección desde el Left_child-> derecho_child-> parent_node->.
void display_post_order (nodo * root)3: Traversal en orden
En este método transversal, pasaremos por los nodos en una dirección desde Left_node-> root_child-> right_child.
void display_in_order (nodo * root)Paso 5: Realice la eliminación en el árbol binario
Podemos eliminar el creado Árbol binario eliminando a ambos niños con la función del nodo principal en C de la siguiente manera.
void delete_t (nodo * root)C Programa de árbol de búsqueda binaria
La siguiente es la implementación completa del árbol de búsqueda binario en la programación C:
#incluirEn el código anterior, primero declaramos un nodo usando estructura. Luego inicializamos un nuevo nodo como "nodo1"Y asignar memoria dinámicamente usando malloc () en C con datos y dos punteros, tipo niños utilizando el nodo declarado. Después de esto, mostramos el nodo por printf () función y llamarlo en el principal() función. Entonces el insertion_node () Se crea la función, donde si los datos de nodo son nulos entonces nodo1 está retirado, de lo contrario se colocan datos en el nodo(padre) del niño izquierdo y derecho. El programa inicia la ejecución del principal() función, que genera un nodo utilizando algunos nodos de muestra cuando es niños y luego usa métodos de transversión en orden para imprimir el contenido del nodo.
Producción
Conclusión
Los árboles se emplean con frecuencia para mantener los datos en forma no lineal. Árboles binarios son tipos de árboles donde cada nodo (padre) tiene dos descendientes el hijo izquierdo y el niño derecho. A árbol binario es un método versátil para transferir y almacenar datos. Es más eficiente en comparación con la lista vinculada en c. En el artículo anterior, hemos visto el concepto de un Árbol binario con la implementación paso a paso de un Árbol de búsqueda binario Cª.