Está en la página 1de 4

rbol

En ciencias de la informtica, un rbol es una estructura de datos ampliamente usada que


imita la forma de un rbol (un conjunto de nodos conectados). Un nodo es la unidad sobre
la que se construye el rbol y puede tener cero o ms nodos hijos conectados a l. Se dice
que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso,
tambin decimos que b es hijo de a). Slo puede haber un nico nodo sin padres, que
llamaremos raz. Un nodo que no tiene hijos se conoce como hoja. Los dems nodos (tienen
padre y uno o varios hijos) se les conoce como rama.
Un rbol se define como un tipo de grafo que no contiene ciclos, es decir es un grafo
tambin acclico, pero a su vez es conexo. Tal es el caso de los siguientes dos grafos en
donde se puede notar que ninguno de los dos contiene repeticiones (ciclos).

Bosques de rboles.
Los bosques de rboles son un caso similar a los rboles, son acclicos, pero no son
conexos. Como ejemplo tenemos la siguiente figura.

Formalmente, podemos definir un rbol de la siguiente forma:


Caso base: un rbol con slo un nodo (es a la vez raz del rbol y hoja).
Un nuevo rbol a partir de un nodo nr y k rboles de races con elementos cada uno, puede
construirse estableciendo una relacin padre-hijo entre nr y cada una de las races de los k
rboles. El rbol resultante de nodos tiene como raz el nodo nr, los nodos son los hijos de
nr y el conjunto de nodos hoja est formado por la unin de los k conjuntos hojas iniciales.
A cada uno de los rboles Ai se les denota ahora subrboles de la raz.
Una sucesin de nodos del rbol, de forma que entre cada dos nodos consecutivos de la
sucesin haya una relacin de parentesco, decimos que es un recorrido rbol. Existen dos
recorridos tpicos para listar los nodos de un rbol: primero en profundidad y primero en
anchura. En el primer caso, se listan los nodos expandiendo el hijo actual de cada nodo
hasta llegar a una hoja, donde se vuelve al nodo anterior probando por el siguiente hijo y as
sucesivamente. En el segundo, por su parte, antes de listar los nodos de nivel n + 1 (a
distancia n + 1 aristas de la raz), se deben haber listado todos los de nivel n. Otros
recorridos tpicos del rbol son preorden, postorden e inorden:
El recorrido en preorden, tambin llamado orden previo consiste en recorrer en primer lugar
la raz y luego cada uno de los hijos en orden previo.
El recorrido en inorden, tambin llamado orden simtrico (aunque este nombre slo cobra
significado en los rboles binarios) consiste en recorrer en primer lugar A1, luego la raz y
luego cada uno de los hijos en orden simtrico.
El recorrido en postorden, tambin llamado orden posterior consiste en recorrer en primer
lugar cada uno de los hijos en orden posterior y por ltimo la raz.
Finalmente, puede decirse que esta estructura es una representacin del concepto de rbol.

Recorrido de un grafo.
Recorrer un grafo significa tratar de alcanzar todos los nodos que estn relacionados con
uno que llamaremos nodo de salida. Existen bsicamente dos tcnicas para recorrer un
grafo: el recorrido en anchura; y el recorrido en profundidad.
Recorrido en anchura: El recorrido en anchura supone recorrer el grafo, a partir de un
nodo dado, en niveles, es decir, primero los que estn a una distancia de un arco del nodo
de salida, despus los que estn a dos arcos de distancia, y as sucesivamente hasta alcanzar
todos los nodos a los que se pudiese llegar desde el nodo salida.

Recorrido en profundidad: el recorrido en profundidad trata de buscar los caminos que


parten desde el nodo de salida hasta que ya no es posible avanzar ms. Cuando ya no puede
avanzarse ms sobre el camino elegido, se vuelve atrs en busca de caminos alternativos,
que no se estudiaron previamente.
Comparado a las estructuras de datos lineales como las listas enlazadas y arreglos
unidimensionales, que tienen un mtodo cannico de recorrido, las estructuras
arborescentes pueden ser recorridas de muchas maneras diferentes. Comenzando en la raz
de un rbol binario, hay tres pasos principales que pueden ser realizados y el orden en la
cual son realizados define el tipo de recorrido. Estos pasos (en ningn orden particular) son:
ejecucin de una accin en el nodo actual (referido como visitando el nodo), recorriendo
al nodo hijo de la izquierda, y recorriendo al nodo hijo de la derecha. As el proceso ms
fcilmente descrito a travs de la recursin.
Los nombres dados para un estilo particular de recorrido vienen de la posicin del elemento
de raz con respecto a los nodos izquierdo y derecho. Imagine que los nodos izquierdo y
derecho son constantes en espacio, entonces el nodo raz pudiera colocarse a la izquierda
del nodo izquierdo (pre-orden), entre el nodo izquierdo y derecho (in-orden), o a la derecha
del nodo derecho (post-orden).
Con el fin de ilustrar, se asume que
los nodos izquierdos tienen
siempre prioridad sobre los nodos
derechos. Este ordenamiento puede
ser invertido mientras el mismo
orden sea asumido para todos los
mtodos de recorrido.

Notacin prefija, infija y posfija


Consideremos la suma de A y B. Sabemos que tenemos que aplicar el operador
aritmtico + a los operandos A y B. Esta expresin aritmtica se puede escribir de tres
formas:

A+B, notacin infija. Esta es la forma ms comn para representar la operacin, en


donde el operador aritmtico est entre los operandos.

+AB, notacin prefija. El operador aritmtico precede a los operandos.

AB+, notacin posfija. El operador aritmtico sucede a los operandos.

En el caso de la notacin infija, si slo hay un operador involucrado no existe mayor


problema, pero si en la expresin aritmtica hay ms de uno, se necesita saber cul de

los operadores tiene precedencia sobre los dems. Por ejemplo, en la expresin A+B*C,
el operador * tiene precedencia sobre el operador +. Si no se define la precedencia de
los operadores, las expresiones seran ambiguas.

La ventaja de las notaciones prefija y posfija es que no dan pie a ambigedades.


Retomemos el ejemplo anterior. Si consideramos la expresin A+B*C, su notacin prefija
es +*BCA, pero si consideramos (A+B)*C, en prefijo sera *+ABC. En el caso de la
notacin posfija, las expresiones anteriores se escriben como ABC*+ y AB+C*.
Ejercicios: Escribe en notacin prefija y posfija las siguientes expresiones en
notacin infija.
1. (A+B)*(C-D)
2. A+B*C-D+E/F/(G+H)
3. ((A+B)*C-(D-E))/(F+G)
4. A-B/(C*D/E)
Ejercicios: Evaluar las siguientes expresiones en notacin posfija
1. 623+-382/+*2*3+
2. 62+3-382/2+**3+
Tarea: Escribe los siguientes algoritmos.
1. Evaluacin de expresiones aritmticas en notacin posfija.
2. Conversin de expresiones aritmticas en notacin infija a notacin posfija.

Ordenamiento interno
Se lleva a cabo completamente
en memoria principal. Todos los
objetos que se ordenan
caben
en la memoria principal de la
computadora

F
Ordenamiento
externo
No
cabe toda la informacin en memoria principal y es necesario
ocupar memoria secundaria. El ordenamiento ocurre
transfiriendo bloques de informacin a memoria principal en
donde se ordena el bloque y este es regresado, ya ordenado, a
memoria secundaria

RBOLES CON PESO


El peso de un rbol en un nodo dado es el nmero de nodos en el rbol
sin contarse el mismo.El peso de un nodo en un rbol es la longitud del
camino ms largo del nodo a una hoja.
El
peso
de
un
rbol
es
el
peso
de
la
raz.
Un rbol con peso es un grafo donde cada lado tiene un nmero asociado o peso.
Normalmente, al peso de un lado e se le designa por w(e). La suma de todos los
pesos de todos los lados de un grafo con peso se llama el peso del grafo. (WEEBLY,
2014)

Ejemplo: cual es el peso de un rbol?

Peso total del grafo = 19