Ir al contenido principal

El Arbol Binario

por William Read
El árbol binario es una estructura de datos formada por un conjunto de nodos. Existe un nodo raíz que es el origen de la estructura de datos.


Cada nodo lleva la información utilitaria deseada; además, contiene dos vínculos -generalmente llamados izquierdo y derecho- que conectan el nodo por la izquierda a otro nodo, por la derecha a otro nodo distinto. Estas conexiones sirven para ordenar los nodos según algún criterio de mayor que y/o menor que. Uno y hasta ambos vínculos pueden no estar conectados, quedan en el limbo, y entonces su valor es nil.

Los lenguajes de programación modernos (c++, pascal, etc.) permiten modelar estructuras de árbol binario fácilmente. El manejo de los árboles binarios puede hacerse usando funciones muy sencillas, pero difíciles de entender al principio. Se trata de las llamadas funciones recursivas; éstas se llaman a si mismas tantas veces como sea necesario, hasta alcanzar la meta propuesta.

Un árbol binario bien diseñado debe ser simétrico. En el nivel cero está solamente la raiz, en el nivel 1 hay 2 nodos, en el 2do nivel hay 4 nodos, en el 3ro se tienen 8 y así sucesivamente. Si asignásemos un nodo a cada habitante del planeta, necesitaríamos un árbol de unos 26 niveles, solamente.

La principal utilidad del árbol binario está en los llamados árboles de búsqueda. Asignando un número de identificación a cada habitante del caso anterior, ordenados en un árbol binario simétrico, podríamos encontrar el número correspondiente a un habitante en particular entrando por la raíz y preguntando si el número buscado es menor o mayor que el de la raíz. Si es menor nos dirigimos al nodo izquierdo y repetimos la misma pregunta, si es mayor vamos al nodo de la derecha, y así hasta encontrar la entrada buscada. Máximo 25 veces tendríamos que preguntar para encontrar la ficha identificadora de cualquier habitante.

En computación se usa poco el árbol binario porque las funciones recursivas que logran la búsqueda con tanta eficiencia, usan el mecanismo de la pila ó "stack" que pudiera causar desbordes en la memoria interna de los computadores. Por eso se prefiere la búsqueda iterativa, aunque ésta sea mas lenta. Cuando las listas de búsqueda son muy grandes y entonces valdría la pena usar almacenamientos en estructura de árbol binario, entonces hay que asegurarse de que el árbol creado resulte lo mas balanceado posible, para que la pila no tenga que visitar muchos niveles.

Iterando para encontrar un habitante de los últimos en una lista lineal habría que preguntar unos seis mil millones de veces. Recurriendo en un árbol binario balanceado solamente tendríamos que preguntar 25 veces -con mala suerte-. Si la raiz del árbol es 1 y todas las hojas izquierdas están vacías (=nil), el nivel del árbol sería seis mil millones y ninguna computadora actual tiene una pila así, lo que resultaría es un desborde de pila.

En computación hay un adagio que reza: "Iterar es humano, recurrir es divino".

Comentarios

Entradas populares de este blog

Manual de Puentes / Generalidades

por William A. Read Espaillat Elementos que conforman un puente Llamamos puente a toda construcción cuya finalidad es salvar un vano. A un puente lo definimos con mas detalle con calificativos apropiados; en la vida civil un nombre , una localización, un uso, etc son medios para identificar la obra de que se trata. En ingeniería civil los puentes también reciben calificativos diversos; la denominación técnica correcta para un puente debe ser 1. por el uso de la vía superior, 2. por el material usado para construírlo y 3. por el sistema estático utilizado; en ese orden. Aplicando esta regla fundamental en la descripción de un puente no hay lugar para ambigüedades, por ej. “puente de ferrocarril de hormigón armado en arco”, “puente carretero de acero de cables diagonales” y “puente tubo de acero y hormigón armado, colgante”, etc. Obsérvese que la vía inferior, que puede ser una calle, un río, una vía ferrea o sencillamente un valle, no ofrecen absolutamente nada a la descrip

Blasones Antiguos de La Hispaniola

por William Read La información de este artículo está tomada en gran parte del libro "Blasones de La Española" de Emilio Rodríguez Demorizi. Las ilustraciones se tomaron del libro "Banderas y Escudos Dominicanos" de Ramiro Matos González y son los expuestos en el Museo de las Casas Reales en Santo Domingo. En el año 1508, los concejos, regidores, caballeros, oficiales y hombres buenos de La Española se dirigieron a la metrópoli por medio de sus procuradores, Diego de Manresa y el Bachiller Antonio Serrano, en solicitud de armas nobiliarias para cada una de la Villas de la Isla, a lo que accedió el Rey por Privilegio Real del 7 de diciembre de 1508. Además de la Isla, que también recibió sus armas, las villas blasonadas fueron las siguientes, citadas en el mismo orden del Privilegio Real. A la isla "La Española", que desde entonces (1508) se llamó Santo Domingo, le fueron señaladas por armas: un escudo de gules con una banda blanca atravesada con d

Medidas Agrarias Antiguas de La Hispaniola

por William Read La Hispaniola es el centro de origen del Nuevo Mundo. Todas las grandes aventuras de la conquista partieron de estas tierras, donde han ondeado 6 banderas en los pasados 5 siglos española, francesa, colombiana, haitiana, dominicana, norteamericana. Los poderes imperiales otorgaban feudos en tierras de la joven América a sus encomenderos para producir riquezas que retroalimentaran a los imperios. Oro, plata, maderas preciosas, cueros, etc. cruzaban los mares hacia los reinos. Entonces no existía aún el Sistema Métrico y cada poder medía con su propia vara. En La Hispaniola se han utilizado diversas medidas de longitud y de áreas en el transurso de los últimos 500 años. La Agrimensura Legal de República Dominicana ha tenido que interpretar todas esas medidas y en el correr de los años llevarlas al común denominador del sistema métrico. La siguiente tabla ha sido tomada de las notas de cátedra del Lic. Manuel Ubaldo Gómez hijo: