Las estructuras autorreferenciales son aquellas que se refieren a sí mismas con un puntero para estructurar. Podemos utilizar estas estructuras en la implementación de listas vinculadas, árboles, intentos, etc.
Un ejemplo de las estructuras autorreferenciales de árboles binarios es
nodo de estructura {
- ¿Cómo puedes visualizar algoritmos?
- ¿Qué es un buen algoritmo para las respuestas de la prueba de personalidad?
- Cómo hacer un diagrama de flujo y un algoritmo para convertir números binarios a decimales
- ¿Es posible codificar un programa que, dada una secuencia finita, encuentra al menos 2 reglas posibles que generan las series restantes?
- ¿Cómo funciona el PageRank?
datos int;
struct node * leftchild, * rightchild;
};
En el ejemplo anterior, el nodo de estructura se refiere a sí mismo por puntero a estructura. Esto no significa que la estructura apunte a sí misma. Se refiere a otro nodo que tiene el mismo diseño. Una vez que cree un nodo, cada nodo obtendrá una copia separada de la estructura anterior y, por lo tanto, cada nodo contendrá un puntero que apunta a otro nodo de estructura.
En los árboles binarios tenemos dos punteros que se refieren tanto al niño izquierdo como al derecho. Siempre es bueno inicializar esos punteros a NULL durante la inicialización. Esto puede evitar algunas fallas de segmentación tontas 🙂