5.2 Representación en Memoria


Hay dos formas tradicionales de representar un árbol binario en memoria:

Sin embargo la más utilizada es la primera, puesto que es la más natural para tratar este tipo de estructuras.

Los nodos del árbol binario serán representados como registros que contendrán como mínimo tres campos. En un campo se almacenará la información del nodo. Los dos restantes se utilizarán para apuntar al subarbol izquierdo y derecho del subarbol en cuestión.

Cada nodo se representa gráficamente de la siguiente manera:

El algoritmo de creación de un árbol binario es el siguiente:


Procedimiento crear(q:nodo)
  inicio
	mensaje("Rama izquierda?")
	lee(respuesta)
	si respuesta = "si" entonces
		new(p)
		q(li) <-- nil
		crear(p)
	en caso contrario
		q(li) <-- nil
	mensaje("Rama derecha?")
	lee(respuesta)
	si respuesta="si" entonces
		new(p)
		q(ld)<--p
		crear(p)
	en caso contrario
		q(ld) <--nil
  fin
INICIO
	new(p)
	raiz<--p
	crear(p)
FIN
Página anterior Página siguiente