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