Вы находитесь на странице: 1из 4

INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ

Ingeniera en Sistemas Computacionales

Programacin Lgica y Funcional

Nango Sols Galdino Belizario

rbol Balanceado

Samuel de Jesus Ruiz Marroquin

Tuxtla Gutirrez, Chiapas. A 7 de Diciembre 2015

rbol
Desde el punto de vista conceptual, un rbol es un objeto que comienza
con una raz (root) y se extiende en varias ramificaciones o lneas
(edges), cada una de las cuales puede extenderse en ramificaciones
hasta terminar, finalmente en una hoja. Los rboles representan las
estructuras no-lineales y dinmicas de datos ms importantes en
computacin. Dinmicas, puesto que la estructura rbol puede cambiar
durante la ejecucin de un programa. No lineales, puesto que a cada
elemento del rbol pueden seguirle varios elementos.
En la ciencia de la computacin definimos un rbol como un conjunto de
nodos y lneas. Un nodo es un elemento de informacin que reside en el
rbol. Una lnea es un par de nodos ordenados, y a la secuencia de
lneas se le denomina ruta (path).
rbol Balanceado
Es como un rbol de bsqueda, en el cual se debe cumplir la siguiente
condicin: Para todo nodo T del rbol la altura de los subrboles
izquierdo y derecho no deben diferir en a lo sumo una unidad.
Propiedades
Tienen un nodo al que se le llama raz del rbol.
Todos los nodos, excepto la raz, tienen una sola lnea de entrada (el

nodo raz no tiene ninguna).


Existe una ruta nica del nodo raz a todos los dems nodos del rbol.
Si hay una ruta, entonces a b se le denomina hijo de a y es el nodo
raz de un subrbol.

Caractersticas
NODO indica un elemento, o tem, de informacin.
Todo rbol que no es vaco, tiene un nico nodo raz.

Un nodo X es descendiente directo de un nodo Y, si el nodo X es

apuntado por el nodo Y. X es hijo de Y.


Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al
nodo Y. X es padre de Y.
Se dice que todos los nodos que son descendientes directos (hijos) de un
mismo nodo (padre), son hermanos.
Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre
de terminal u hoja. Todo nodo que no es raz, ni terminal u hoja se
conoce con el nombre de interior.
Grado es el nmero de descendientes directos de un determinado nodo.
Grado del rbol es el mximo grado de todos los nodos del rbol.
Nivel es el nmero de arcos que deben ser recorridos para llegar a un
determinado nodo. Por definicin, la raz tiene nivel 1.
Altura del rbol es el mximo nmero de niveles de todos los nodos del
rbol.

Ejecucin:
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
"ghci>" :l arbol.hs
[1 of 1] Compiling Main
( arbol.hs, interpreted )
"ghci>" arbolbalanceado [9,5,8,10]
NodoB (NodoB (HojaB 9) (HojaB 5)) (NodoB (HojaB 8) (HojaB 10))

Scrip:
data ArbolB = HojaB Int
| NodoB ArbolB ArbolB
deriving Show

mitades :: [a] -> ([a],[a])


mitades xs = splitAt (length xs `div` 2) xs
arbolbalanceado :: [Int] -> ArbolB
arbolbalanceado [x] = HojaB x
arbolbalanceado xs = NodoB (arbolbalanceado ys) (arbolbalanceado zs)
where (ys,zs) = mitades xs

Referencia
http://eafranco.com/docencia/estructurasdedatos/files/32/Clase_
32.pdf
http://www.uaeh.edu.mx/docencia/P_Presentaciones/icbi/asignat
ura/Cap6ARBOLES.pdf

Вам также может понравиться