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

Arcillas Expansivas

ESTUDIO DE GEOTECNIA EN ARCILLAS EXPANSIVAS, USANDO LOS RESULTADOS DE PRUEBAS DE IDENTIFICACION Y DE PROPIEDADES FISICAS DEL SUBSUELO PARA DETERMINAR CUANTITATIVAMENTE LA PRESION DE EXPANSION DE LOS SUELOS ENCONTRADOS EN UN SITIO DE UN EDIFICIO DE APARTAMENTOS EN LA AFUERAS DE LA CIUDAD DE SANTO DOMINGO.   Ing. Gustavo R. Bisonó Pichardo.    CONTENIDO 1. INTRODUCCION 2. GEOLOGIA 3. TRABAJOS DE CAMPO 4. ORDENAMIENTO ESTATIGRAFICO 5. RESULTADOS DE PRUEBAS DE LABORATORIO 6. FORMULAS USADAS EN LA DETERMINACION DE LA CAPACIDAD PORTANTE. 7. SISMICIDAD 8. VALORES DE CAPACIDAD PORTANTE. PRESION DE EXPANSION Y   RECOMENDACIONES PARA EL TRATAMIENTO DE LOS SUELOS EN LOS 2   BLOQUES DE CONSTRUCCION  9. CONDICIONES GENERALES 1. INTRUDUCCION Este Estudio de Geotecnia ha sido realizado en el sub suelo, perteneciente a un de edificio para apartamentos en las afueras de la ciudad de Santo Domingo, con la finalidad de investigar las propiedades ingenieriles de l

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