1 / 13

Ayudantía 5: Arboles

Ayudantía 5: Arboles. Carlos Pulgar R. Mail: carlos.pulgar@alumnos.usm.cl Página Ayudantía: http://capulgar.wordpress.com/. Arboles. Describir estructuras con algún tipo de jerarquía Organizan información Permiten localizar mas rápidamente la información

adah
Télécharger la présentation

Ayudantía 5: Arboles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ayudantía 5: Arboles Carlos Pulgar R. Mail: carlos.pulgar@alumnos.usm.cl Página Ayudantía: http://capulgar.wordpress.com/

  2. Arboles • Describir estructuras con algún tipo de jerarquía • Organizan información • Permiten localizar mas rápidamente la información • En informática se utilizan en distintos ámbitos • Sistema de archivos: estructura de directorios y subdirectorios con forma de árbol • Esquema para el desarrollo de algoritmos

  3. Arboles (Concepto) • Estructura jerárquica no lineal • Relaciones padre-hijo entre nodos • Def: • Colección de elementos llamados NODOS, uno de los cuales es la raíz, junto con una relación PADRE-HIJO, que coloca a todos los nodos en una estructura JERARQUICA. • Un Padre puede tener varios Hijos, pero un Hijo solo puede tener UN Padre. • Hay un único camino desde la raíz al nodo

  4. Terminología Básica • Raíz: único NODO sin padre. • Nodo interno: tiene al menos un hijo • Nodo hoja (externo): no tiene hijos • Descendiente directo: hijo • Descendientes: hijo, nieto… • Subárbol : árbol formado por un nodo y sus descendientes • Grado de un nodo: numero de descendientes directos • Grado de un árbol: mayor grado de sus nodos • Árbol binario: árbol de grado 2. • Lista: árbol degenerado de grado 1. • Profundidad de un nodo: número de predecesores • Altura de un árbol: profundidad máxima de cualquier nodo (numero máximo de los enlaces de las ramas del árbol) • Rama: camino desde el nodo raíz a una hoja • Nivel: numero de nodos desde la raíz al nodo • Bosque: colección de dos o más árboles.

  5. Terminología Básica • Árbol completo: si todo nodo no terminal tiene asociado exactamente el grado del árbol. • Árbol lleno: si esta completo y tiene todas sus hojas en el mismo nivel. • Casi lleno: es cuando el árbol esta lleno hasta el penúltimo nivel y las hojas que están en el ultimo nivel se encuentran lo mas a la izquierda posible. • A. Isomorfos: cuando dos árboles tienen la misma estructura, pero no necesariamente los mismos elementos. • A. Semejantes: son aquellos que poseen los mismos elementos, pero no necesariamente la misma estructura.

  6. Árbol Binario • Arbol de grado 2. • Propiedades • n: número de nodos • e: número de nodos hoja • i: número de nodos internos • h: altura del árbol

  7. Árbol Binario • Recorrido de un árbol: • InOrden -> ( I , R , D ) • PreOrden -> ( R , I , D ) • PostOrden -> ( I , D , R ) • Ejercicio: • En un árbol general, el recorrido en inorden se puede definir recorriendo el primer hijo en inorden, seguido de la raíz y de los demás hijos en inorden. Indicar los recorridos en preorden, inorden y postorden del siguiente árbol general:

  8. Arboles de Búsqueda Binaria (ABB) • Los valores de la izquierda son menores al padre y los de la derecha mayores • Al eliminar sube el mayor de la izquierda, o en algunos casos el menor de la derecha. • Ejercicio: • Genere un ABB al insertar la secuencia de claves enteras: 100, 29, 71, 82, 48, 39, 101, 22, 46, 17, 3, 20, 25, 10. • Altura del árbol? • Hojas? • Recorrido Postorden?

  9. AVL • Si para todo nodo, se tiene una diferencia de a lo más 1 en la altura de los subárboles. • Se ocupa el Factor de Equilibrio, para comprobar la definición. • Si 1< F.E. < -1 se aplica rotación. • Si F.E. < -1 rotar derecha. • Si F.E. >1 rotar izquierda. • Si se elimina un nodo con dos hijos, el valor debería ser substituido por el menor de su hijo derecho.

  10. Arboles 2-3 • Todas las hojas se encuentran al mismo nivel • Balanceado por altura • Tienen 2 o 3 descendientes • Al agregar se ordenan los 3 datos y sube el del medio. • En la eliminación, los nodos que quedan vacios se fusionan con uno de sus hermanos para formar uno solo.

  11. Arboles B • Cada nodo puede tener mas de dos ramas. • División del árbol en subarboles, llamados páginas. • Un árbol B de orden “d” contiene a lo más “2d” claves y “2d+1” punteros. • Camino mas largo: logd(n) nodos, donde d es el orden del árbol. • Borrar: • Caso 1: la clave está en una página hoja • Desplazar a la izquierda el resto de las claves • Caso 2: la clave no está en una página interior • Lo mismo que el ABB • (fusión : izq primero, luego drch) • Ejercicio: • Insertar en un Árbol B los siguientes elementos: 23, 45, 100, 5, 87.

  12. Árbol B* (de orden M) • Cada página tiene un máximo de M descendientes. • Todas las páginas, menos la raíz y las hojas, tienen al menos (2M-1)/3 descendientes. • Asegura ocupación >=66,6%

  13. Árbol B+ • Formados por: • Índice: nodos interiores • Secuencia: página Hoja enlazadas secuencialmente en las que se repiten las claves interiores. • Cuando una hoja se divide en 2, sube una copia del valor medio y el real queda en la hoja derecha • Orden : n • Altura : h • N° máximo de claves = n^h • N° mínimo de claves = 2(n/2)^(h-1)

More Related