Representación de árboles en la computadora.
Suponga que T es un árbol general. A menos que se diga lo contario, T se mantendrá en memoria en términos de una representación enlazada que usa tres arrays paralelos, INFO, HIJO (o BAJO), y una variable puntero RAIZ, tal como sigue. En primer lugar, cada nodo N de T corresponderá a una posición K tal que:
(1)INFO [K] Contiene los datos del nodo N.
(2)HIJO [K]contiene la posición del primer HIJO de N. la condición HIJO[K]=NULO indica que N no tiene hijos.
(3)HERM [K]contiene la posición del siguiente hermano de N. La condición HERM [K]=NULO indica que N es el último hijo de su padre.
Más aun, RAIZ contendrá la posición de la RAIZ R de T. aunque lo anterior representación puede parecer artificial, tiene la importante ventaja de que cada nodo R de T, independientemente del número de hijos de N, contendrá exactamente tres campos.
Esta representación se puede extender fácilmente para representar un bosque F formado por árboles T1, T2,……Tm asumiendo que las raíces de los árboles son hermanas. En este caso, RAIZ contendrá la posición de la raíz R1 del primer árbol T1; o cuando F este vacío, RAIZ será igual a NULO.
| INFO | HIJO | HERM | |||
| 1 | | 1 | 5 | | |
| 2 | A | 2 | 3 | 0 | |
| 3 | B | 3 | 15 | 4 | |
| 4 | C | 4 | 6 | 16 | |
| 5 | | 5 | 13 | | |
| 6 | G | 6 | 0 | 7 | |
| 7 | H | 7 | 11 | 8 | |
| 8 | J | 8 | 0 | 0 | |
| 9 | N | 9 | 0 | 0 | |
| 10 | M | 10 | 0 | 9 | |
| 11 | L | 11 | 0 | 0 | |
| 12 | K | 12 | 10 | 0 | |
| 13 | | 13 | 0 | | |
| 14 | F | 14 | 0 | 0 | |
| 15 | E | 15 | 0 | 14 | |
| 16 | D | 16 | 12 | 0 |
(a) RAIZ=2 DISP=13
No hay comentarios:
Publicar un comentario