1. Leer el primer número y almacenarlo en la raíz del árbol. 2. Repetir hasta encontrar un duplicado o el árbol esté vacío.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "1. Leer el primer número y almacenarlo en la raíz del árbol. 2. Repetir hasta encontrar un duplicado o el árbol esté vacío."

Transcripción

1 Capítulo 6 Árboles 6.1 Introducción Esta no es una estructura lineal, deben conocerlos de matemáticas finitas. Ejemplos: la tabla de contenido de un libro, los que se hacen en los torneos, los arboles genealógicos. 6.2 Motivación Se tiene el problema de eliminar los elementos duplicados de un conjunto de datos. Para resolverlo se puede ir comparando cada dato con el resto del arreglo y al encontrar duplicados eliminarlos. Otra posibilidad, es ordenar los datos y los elementos duplicados quedan juntos así con una pasada al arreglo se pueden eliminar los duplicados (aquí la complejidad está en el ordenamiento). Una tercera opción es utilizar un árbol como sigue: 1. Leer el primer número y almacenarlo en la raíz del árbol. 2. Repetir hasta encontrar un duplicado o el árbol esté vacío. (a) Leer un número y compararlo con la raíz. (b) Si coinciden entonces hay un duplicado y no hay nada que hacer. (c) Si el número es menor repetir el proceso con el árbol izquierdo. (d) Si el número es mayor repetir el proceso con el árbol derecho. 1

2 6.3. DEFINICIONES 2 3. Si se llegó a un árbol vacío entonces almacenar el número en una nueva posición del árbol. Hacer dibujo de ejemplo: se dibuja al revés del mundo real, es decir arriba queda la raíz y las hojas hacia abajo. 6.3 Definiciones Árbol = colección de nodos conectados por arcos directos, en el cual no hay ciclos y existe un nodo distiguido llamado raíz. Hay un único camino de la raíz a cualquier nodo. Raíz = elemento distinguido a partir del cual se forma el árbol. Otra forma de definir la raíz es indicando que es nodo que no tiene ancestros. Padre = nodo que apunta a otros. Hijo = nodo apuntado por otros. Ancestros de un nodo = nodos a nivel superior conectados al nodo dado. Descendientes de un nodo = nodos de nivel inferior conectados al nodo dado. Hojas = Nodos sin hijos. Nodo interior = nodo con hijos. Altura = Mayor número de enlaces que se recorren al ir de la raíz a cualquier hoja. Nota que en todo árbol cualquier nodo puede considerarse la raíz de otro árbol formado por sus descendientes. De ahí que en árboles se utilice mucho la recursión, incluso en su definición: Un árbol es: Un nodo sin hijos es un árbol. Tal árbol se denomina una hoja y su altura es 0.

3 6.3. DEFINICIONES 3 Un nodo con una colección no vacía de hijos es un árbol. Este nodo es el padre y se denomina nodo interior. La altura de un nodo interior es uno más que la máxima altura de sus hijos. Un nodo sin padres se denomina raíz del árbol. Ejemplos: arboles genealógicos, arboles de torneos, organigramas, etc. Ejemplo de uso en computación, son los parsers o traductores sintácticos. Si se tiene la siguiente gramática: <proposición> ::= <selección> <expr> <selección> ::= if ( <exp> ) <proposición> else <proposición> <expr> ::= <relacional> <asignación> identificador <relacional> ::= <expr> < <expr> <asignación> ::= <expr> = <expr> Para la instrucción: if (a <b) max = b else max = a se construye un árbol como el que sigue:... <proposición> <selección> if <expr> <prop> else <prop> Las hojas representan los elementos terminales o símbolos empleados en la proposición. Los nodos interiores representan las categorías sintácticas. El compilador entre sus tareas tiene construir estos árboles para cada programa y verificar que éste cumpla con las reglas de la gramática en cuyo caso genera código objeto. También se usan los árboles para las expresiones, aunque para esto se requiere considerar la prioridad de los operadores. Con los recorridos generar postfija, prefija e infija y luego usar pilas para evaluar las expresiones.

4 6.4. ÁRBOLES BINARIOS Árboles binarios Un árbol cuyos nodos tienen a lo más dos hijos se denomina binario. Un árbol binario de altura 0 sólo tiene a la raíz. Propiedades: Un árbol binario completo de altura n tiene a lo más 2 n hojas y el número de nodos es 2 n+1 1 Un árbol binario de n nodos debe tener a lo más una trayectoria de la raíz a las hojas de longitud mayor o igual a l ogn. En un árbol binario completo de n nodos, la mayor trayectoria de la raíz a su hojas no recorre mas de logn nodos. 6.5 Conversión de un árbol a binario Debido a la facilidad de manipular arboles binarios es conveniente representar un árbol cualquiera a binario. Ejemplo: A B C D E F G H I J Figura 6.1: Árbol no binario. Para convertirlo conservando la relación jerárquica entre los nodos, puede verse que hay dos tipos de nodos los hijos y los hermanos. Entonces se pone del lado izquierdo al primer hijo y del lado derecho a los hermanos. A B C -- D E - F G H -- I -- J Aunque no parece un árbol sí lo es. Si lo giramos se puede ver como estamos acostumbrados.

5 6.6. IMPLEMENTACIÓN Implementación Para implementar un árbol binario se usan nodos con dos ligas. Una para el hijo izquierdo y otra para el derecho. En este caso no hay una interfaz que implementar, el árbol se va creando de acuerdo a las necesidades de la aplicación. Los nodos que se utilizarán en la construcción de todo árbol binario en este texto son de la siguiente clase: class NodoBinario { public Object valor; // Valor del nodo public NodoBinario izquierda; // Liga a la izquierda public NodoBinario derecha; // Liga a la derecha /* * Inicializa con null el nodo creado. public NodoBinario () { valor = null; izquierda = null; derecha = null; * Inicializa el nodo con el valor dado como parámetro v valor public NodoBinario (Object v) { valor = v; izquierda = null; derecha = null; public NodoBinario (Object v, NodoBinario iz, NodoBinario der) { valor = v; izquierda = iz; derecha = der;

6 6.7. RECORRIDOS Recorridos Se desea imprimir todos los nodos del árbol, no necesariamente en forma de árbol. Por ejemplo, con el siguiente árbol: A B C D E F G H I Figura 6.2: Árbol para recorrido. Como los hacemos? Dado que no hay un orden lineal. Si se considera que tiene n nodos independientes, entonces hay n! secuencias en las cuales se puede visitar cada nodo. Generalmente, los algoritmos de recorrido se definen recursivamente en tres pasos: 1. Procesar un nodo. 2. Recursivamente visitar y procesar el sub-árbol izquierdo. 3. Recursivamente visitar y procesar el sub-árbol derecho. En este caso ya redujimos el número de posibilidades a seis: 1. Procesar un valor, luego el sub-árbol izquierdo y por último el sub-árbol derecho. 2. Procesar el sub-árbol izquierdo, luego el valor y por último el sub-árbol derecho. 3. Procesar el sub-árbol izquierdo, luego el sub-árbol derecho y por último el valor. 4. Procesar un valor, luego el sub-árbol derecho y por último el izquierdo.

7 6.7. RECORRIDOS 7 5. Procesar el sub-árbol derecho, luego el valor y por último el sub-árbol izquierdo 6. Procesar el sub-árbol derecho, luego el sub-árbol izquierdo y por último el valor. En la mayoría de los casos de interés, los arboles se analizan de izquierda a derecha, con lo cual las posibilidades se reducen a tres. 1. pre-orden: nodo, sub-árbol izquierdo, sub-árbol derecho. Es decir el padre está antes que los hijos (Pre). 2. in-orden: sub-árbol izquierdo, nodo, sub-árbol derecho. El padre está en medio de los hijos (In). 3. post-orden: sub-árbol izquierdo, sub-árbol derecho, nodo. El padre está después de los hijos (Post). Su programación es relativamente sencilla: void preorden (NodoBinario n) { if (n!= null) { procesar(n.valor); preorden(n.izquierdo); preorden(n.derecho); Para el árbol del inicio de la sección los recorridos son: Pre: ABDGCEHIF In: DGBAHEICF Post: GDBHIEFCA Si ahora el árbol fuera el siguiente: los recorridos serían: Preorden: que corresponde a la notación prefija. Inorden: que corresponde a la notación infija.

8 6.7. RECORRIDOS 8 * + B C D E Figura 6.3: Árbol con una expresión aritmética. Postorden: que corresponde a la notación postfija. Cómo hago para recorrer el árbol por niveles? Examinar primero todos los nodos del nivel 1 (la raíz), luego de izquierda a derecha todos los del nivel 2, etc. Para resolver este problema se utiliza una cola en la cual se van guardando los nodos visitados. Primero se inserta la raíz y luego en cada paso se elimina un nodo de la cola y sus hijos se colocan en la cola. * Programa que recorre un arbol por niveles. Amparo López Gaona Noviembre 2004 class OrdenPorNivel implements java.util.iterator { private Cola c = new Cola(); public OrdenPorNivel (NodoBinario raiz) { c.agregar(raiz); public boolean hasnext() { return! c.estavacia(); public Object next() { NodoBinario actual = (NodoBinario) c.tomar(); if (actual.izquierda!= null) c.agregar(actual.izquierda); if (actual.derecha!= null) c.agregar(actual.derecha);

9 6.8. ARBOLES DE BÚSQUEDA 9 return actual.valor; public void remove () { throw new IllegalStateException(); Para probarlo en un método imprime poner este cuerpo: public void imprime() { OrdenPorNivel e = new OrdenPorNivel(raiz); while(e.hasnext()) System.out.print(e.next()+" "); 6.8 Arboles de búsqueda Un árbol binario de búsqueda es uno en el que para cada nodo se cumple que los valores de su árbol izquierdo son menores que él, y los del lado derecho son mayores que él. Con lo cual un recorrido en inorden los proporciona en orden ascendente. Ejemplo: Alejandro Alberto Andrea Abigail Adela Alicia Amparo Adan Agustin Arturo Figura 6.4: Árbol de búsqueda Una ventaja de usar arboles que para localizar un elemento se tiene que recorrer a lo más de la raíz a la hoja correspondiente lo cual toma O(logn). El árbol del ejemplo contiene 10 elementos y su profundidad es cuatro.

10 6.8. ARBOLES DE BÚSQUEDA 10 En el constructor se requiere un objeto comparador que será utilizado para hacer las pruebas de relación de orden entre los valores en el árbol. import java.util.comparator; public class ArbolBusBin { protected NodoBinario raiz = null; public final Comparator prueba; * Inicializa un árbol binario de búsqueda. c objeto comparador usado para colocar elementos en secuencia. public ArbolBusBin (Comparator c) { prueba = c; raiz = null; * Determina si el árbol está vacío. true en caso de que el árbol esté vacío. public boolean estávacio () { return raiz == null; El procedimiento consiste en comparar el elemento buscado con el nodo raíz, si son iguales ya se terminó el trabajo. En caso contrario se verifica si es menor se vuelve a realizar este método ahora con el sub-árbol izquierdo, en caso de ser mayor se trabaja con el sub-árbol derecho. Notar que es un método recursivo puesto que en la definición se presta para ello. * Inserta en el árbol, ignora duplicados. x el dato a insertaar public void inserta(object x) { raiz = inserta(x, raiz); * Método interno para insertar en un sub-árbol.

11 6.8. ARBOLES DE BÚSQUEDA 11 x el dato a insertar. t la raíz del árbol. la nueva raíz. private NodoBinario inserta(object x, NodoBinario t) { if(t == null) t = new NodoBinario(x); else if(prueba.compare(x,t.valor) < 0) t.izquierda = inserta(x, t.izquierda); else if(prueba.compare(x, t.valor) > 0) t.derecha = inserta(x, t.derecha); else ; // No hace nada con los duplicados return t; El siguiente método permite determinar si un elemento está en el árbol o no. * Busca un dato en el árbol. x el dato a buscar. el elemento en el árbol o bien null si no está. public boolean encuentra(object x) { return encuentra(x, raiz); * Método interno para encontrar un elemento en un árbol. x el elemento a buscar. t el nodo raíz del árbol el nodo que contiene el dato buscado. private boolean encuentra(object x, NodoBinario t) { if(t == null) return false; if(prueba.compare (x, t.valor) < 0) return encuentra(x, t.izquierda); else if(prueba.compare(x,t.valor) > 0)

12 6.8. ARBOLES DE BÚSQUEDA 12 return encuentra(x, t.derecha); else return true; // Lo encontró Ahora vamos a ver como eliminar un elemento del árbol. Para ello una vez encontrada la posición del nodo no se puede dejar un hueco. Este lugar debe llenarse con uno de los siguientes valores: El valor mayor en el subárbol izquierdo. El valor menor en el subárbol derecho. * Elimina un elemento del árbol, en caso de no encontrarlo no hace nada. x el dato a eliminar public void elimina(object x) { raiz = elimina(x, raiz); * Método interno para eliminar de un subárbol. x el dato a eliminar. t el nodo raíz del árbol. la nueva raíz. private NodoBinario elimina(object x, NodoBinario t) { if(t == null) return t; // No lo encontró if(prueba.compare(x, t.valor) < 0) t.izquierda = elimina(x, t.izquierda); else if(prueba.compare(x, t.valor) > 0) t.derecha = elimina(x, t.derecha); else if(t.izquierda!= null && t.derecha!= null) { //Tiene dos hijos t.valor = encuentramin(t.derecha).valor; t.derecha = elimina(t.valor, t.derecha); else // A lo más tiene un hijo t = (t.izquierda!= null)? t.izquierda : t.derecha;

13 6.9. ARBOLES AVL 13 return t; Por último veremos cómo imprimir los datos en orden ascendente. * Imprime el contenido del árbol ordenado. public void imprimeárbol() { if(estávacio()) System.out.println("Árbol vacio"); else imprimeárbol(raiz); * Método interno para imprimir un subárbol. t nodo raiz del árbol. private void imprimeárbol(nodobinario t) { if(t!= null) { imprimeárbol(t.izquierda); System.out.println(t.valor); imprimeárbol(t.derecha); 6.9 Arboles AVL La ventaja de usar un árbol de búsqueda se pierde si éste no está balanceado,porque la búsqueda podría en el peor de los casos (cuando el árbol sólo tiene una rama hacia uno de los lados) tomar n comparaciones. Es decir, si se tiene un árbol como el siguiente: Para evitar estos problemas se requiere que el árbol esté balanceado. Un árbol está balanceado si para todo nodo en el árbol, la diferencia entre la altura de su subárbol derecho y su subárbol izquierdo es a lo más uno. Como la altura es un elemento muy importante en este tipo de árboles, se incluye está información en cada nodo.

14 6.9. ARBOLES AVL 14 class NodoAvl extends NodoBinario{ //Hereda valor, izquierda y derecha int altura; NodoAvl( Object val ) { this(val, null, null ); altura = 0; NodoAvl( Object val, NodoAvl iz, NodoAvl der ) { super(val,iz,der); altura= 0; El código para crear el árbol es el siguiente: * Inserta un nodo en el árbol, ignorando los duplicados x el elemento a insertar. public void insertar(object x) { raiz = insertar(x, raiz); * Método interno, auxiliar, para insertar en un árbol. x elemento a insertar. t nodo raiz del árbol. la nueva raiz. private NodoAvl insertar(object x, NodoAvl t) { if(t == null) t = new NodoAvl(x); else if(cmp.compare(x, t.elemento) < 0) { t.izquierda = insertar(x, t.izquierda); if(altura(t.izquierda) - altura(t.derecha) == 2) if(cmp.compare(x, t.izquierda.elemento) < 0) t = rotarizq(t);

15 6.9. ARBOLES AVL 15 else t = doblerotacionizquierda(t); else if(cmp.compare(x, t.elemento) > 0) { t.derecha = insertar(x, t.derecha); if(altura(t.derecha) - altura(t.izquierda) == 2) if(cmp.compare(x, t.derecha.elemento) > 0) t = rotarder(t); else t = doblerotacionderecha(t); else ; // Encontró un duplicado y no hace nada. t.altura = max(altura(t.izquierda), altura(t.derecha)) + 1; return t; private int altura (Nodo Avl t) { return (t == null)? -1 : t.altura; Los métodos para rotar son los siguientes: private NodoAvl rotarizq(nodoavl n) { NodoAvl nraiz = n.izquierda; n.izquierda = nraiz.derecha; nraiz.derecha = n; n.altura = max(altura(n.izquierda), altura(n.derecha)) + 1; nraiz.altura = max(altura(nraiz.izquierda), n.altura) + 1; return nraiz; private NodoAvl rotarder(nodoavl n) { NodoAvl nraiz = n.derecha; n.derecha = nraiz.izquierda; nraiz.izquierda = n; n.altura = max(altura(n.izquierda), altura(n.derecha)) + 1; nraiz.altura = max(altura(nraiz.derecha), n.altura) + 1; return nraiz;

16 6.9. ARBOLES AVL 16 private NodoAvl doblerotacionizquierda(nodoavl n) { n.izquierda = rotarder(n.izquierda); return rotarizq(n); private NodoAvl doblerotacionderecha(nodoavl n) { n.derecha = rotarizq(n.derecha); return rotarder(n); Para suprimir cualquier elemento del árbol AVL se puede usar el mismo método que para árboles de búsqueda sencillos.

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,

Más detalles

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios Estructura de Datos Árboles Árboles Binarios Temario Unidad VI 6.1 Definición y operaciones 6.2 Implementación 6.3 Recorrido en Árboles Binarios 6.4 Árboles AVL y su implementación 6.5 Árboles n-arios

Más detalles

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y

Más detalles

2. Con una lista ordenada, aunque la localización y eliminación es rápida el problema es en la inserción de datos pues puede ser del orden de O(n).

2. Con una lista ordenada, aunque la localización y eliminación es rápida el problema es en la inserción de datos pues puede ser del orden de O(n). Capítulo 7 Heap 7.1 Introducción Una cola de prioridad es una estructura de datos apropiada cuando la tarea más importante es localizar y/o eliminar el elemento con valor menor de una colección. Ejemplo

Más detalles

Pilas Motivación

Pilas Motivación Capítulo 4 Pilas Las pilas son estructuras muy sencillas y poderosas, también conocidas como LIFO (last in, first out) por la forma en que se trabaja con ellas. Ejemplo de ellas son las pilas de charolas

Más detalles

PROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA

PROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA PROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA UNIDAD DE APRENDIZAJE ADMINISTRACION DE BASES DE DATOS Unidad de competencia III Manejar las estructuras dinámicas en memoria secundaria Arboles ELABORACION

Más detalles

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. En Sistemas Computacionales Estructura de Datos Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. Néstor Alejandro Carrillo López Arboles Un árbol es un conjunto finito

Más detalles

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda Árboles Árboles Mario Medina C. mariomedina@udec.cl Árboles Estructura recursiva Árbol vacío 0 o más árboles hijos Altura ilimitada Árbol binario A lo más dos hijos: izquierdo y derecho Árboles Árboles

Más detalles

Tema 09: TAD Árbol binario

Tema 09: TAD Árbol binario Tema 09: TAD Árbol binario M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Introducción El árbol binario

Más detalles

Programación II Árboles binarios de búsqueda (ABB)

Programación II Árboles binarios de búsqueda (ABB) Programación II Árboles binarios de búsqueda (ABB) Definición Un árbol binario de búsqueda(abb) a es una estructura de datos de tipo árbol binario en el que para todos sus nodos, el hijo izquierdo, si

Más detalles

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN

Más detalles

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol Árboles Las listas enlazadas, pilas y colas son estructuras de datos lineales (es decir, secuencias). Un árbol es una estructura de datos bidimensional no lineal, con propiedades especiales. Los nodos

Más detalles

Estructuras de datos y algoritmos

Estructuras de datos y algoritmos Estructuras de datos y algoritmos 1. Introducción 2. Estructuras de datos lineales 3. Estructuras de datos jerárquicas 4. Grafos y caminos 5. Implementación de listas, colas, y pilas 6. Implementación

Más detalles

Tema: ARBOLES. Instructor: MC. Gerardo Gálvez Gámez Junio de 2018 INTRODUCCIÓN:

Tema: ARBOLES. Instructor: MC. Gerardo Gálvez Gámez Junio de 2018 INTRODUCCIÓN: UNIVERSIDAD AUTÓNOMA DE SINALOA Facultad de Informática uliacán Tema: AROLES Instructor: M. Gerardo Gálvez Gámez Junio de 2018 INTRODUIÓN: Hasta el momento solo se han estudiado estructuras lineales y

Más detalles

Árboles Binarios Ordenados Árboles AVL

Árboles Binarios Ordenados Árboles AVL Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Diseño e Implementación TAD Árbol Representación de árboles

Más detalles

Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018

Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018 Estructura de Datos Tema 6. Árboles Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. dtorres@mixteco.utm.mx Contenido 1. Definición y operaciones

Más detalles

Programación de sistemas Árboles

Programación de sistemas Árboles Programación de sistemas Árboles Departamento de Ingeniería Telemática 1 Contenidos Concepto de árbol Terminología Implementación Casos especiales Árboles binarios de búsqueda Montículos (heaps) 2 Concepto

Más detalles

Estructura de Datos Unidad 6: ARBOLES

Estructura de Datos Unidad 6: ARBOLES Estructura de Datos Unidad 6: ARBOLES A. CONCEPTO DE ARBOL B. TIPOS DE ARBOL C. ARBOL BINARIO D. IMPLEMENTACION DE UN ARBOL BINARIO E. PROYECTO Introducción En ciencias de la informática, un árbol es una

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 10

Estructura de datos y de la información Boletín de problemas - Tema 10 Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico

Más detalles

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010 Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del

Más detalles

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;

Más detalles

Estructura de Datos. Índice

Estructura de Datos. Índice TEMA 5. ÁRBOLES (I) 1 Índice 1. Concepto de árbol 2. Árboles binarios 1. Especificación informal del TAD árbol binario 2. Implementación del TAD árbol binario 3. Recorrido de un árbol binario 4. Árboles

Más detalles

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos

Más detalles

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Introducción Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. A B C D E F G H I J K Clasificación con respecto a su relación: Nodo hijo: cualquiera de los nodos

Más detalles

Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58

Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58 Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58 Índice 1 Árbol de búsqueda 2 2/ 58 Índice Árbol de búsqueda 1 Árbol de búsqueda 2 3/ 58 Árbol de búsqueda Es

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

Diseño y Análisis de Algoritmos con Java(I Sem. 2004) Prof. Dr.Eric Jeltsch F.

Diseño y Análisis de Algoritmos con Java(I Sem. 2004) Prof. Dr.Eric Jeltsch F. Arboles En esta sección se presentan los árboles que son un tipo de dato abstracto más adecuado para el tratamiento de grandes cantidades de información, las aplicaciones de los mismos son muy diversas,

Más detalles

Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios

Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios Estructura de datos y algoritmos Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios TEMA V : TIPOS DE DATOS ABSTRACTOS NO LINEALES: ÁRBOLES 5.1 Conceptos y definiciones 5.2 Árboles perfectamente

Más detalles

Introducción a Árboles Árboles Binarios

Introducción a Árboles Árboles Binarios Introducción a Árboles Árboles Binarios Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Introducción a Árboles Estructuras hasta ahora Estructuras

Más detalles

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos

Más detalles

Programación II Tema 5. Árboles binarios

Programación II Tema 5. Árboles binarios ontenidos Programación II Tema 5. Árboles binarios Iván antador ompletitud de búsqueda onstrucción de un árbol e inserción y búsqueda de un elemento y recorrido onstrucción ontenidos ompletitud de búsqueda

Más detalles

Programación Estructuras Arborescentes

Programación Estructuras Arborescentes Programación 2 4 - Estructuras Arborescentes 1 Definición La recursión puede ser utilizada para la definición de estructuras realmente sofisticadas. Una estructura árbol (árbol general o finitario) con

Más detalles

Programación II Arboles Binarios(AB)

Programación II Arboles Binarios(AB) Programación II Arboles Binarios(AB) Definición Un árbol consta de un conjunto finito de elementos, denominados nodos, y un conjunto finito de líneas dirigidas, denominadas enlaces, que conectan los nodos.

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto

Más detalles

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: 1. Objetivo PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS El alumno comprenderá y aplicara

Más detalles

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Definición formal del lenguaje por comprensión L = {C n D m \ n,m >0 Donde C representa

Más detalles

Estructuras de Datos ARBOLES Y GRAFOS

Estructuras de Datos ARBOLES Y GRAFOS Estructuras de Datos ARBOLES Y GRAFOS Rosa Barrera Capot rosa.barrera@usach.cl Grafo? Características Permiten Modelar un problema Aplicaciones: Ingeniería de Sistemas Modelado de Redes Ingeniería Industrial

Más detalles

Algoritmos y Estructuras de Datos. Guillermo Román Díez

Algoritmos y Estructuras de Datos. Guillermo Román Díez Algoritmos y Estructuras de Datos Árboles Generales y Árboles Binarios Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/22

Más detalles

Laboratorio de Estructuras de Datos II

Laboratorio de Estructuras de Datos II Laboratorio de Estructuras de Datos II Segundo examen parcial Fecha límite de entrega: Jueves 19 de noviembre de 2009, 3:59:59 p.m. Los árboles B son estructuras de datos jerárquicas que se utilizan para

Más detalles

Tema 6: Estructuras de datos recursivas

Tema 6: Estructuras de datos recursivas Tema 6: Estructuras de datos recursivas Índice 1 Listas jerárquicas...2 2 Árboles binarios... 4 3 Árboles genéricos...7 4 Referencias...10 1. Listas jerárquicas Las listas tienen la propiedad de la clausura

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Árboles Julio Villena Román MATERIALES CREADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, M.Carmen Fernández Panadero, Raquel M.Crespo García,

Más detalles

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 08: TAD Árbol M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Árbol Especificación

Más detalles

UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS

UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS Curso 2008-09 Examen parcial APELLIDOS: NOMBRE: 1. (0.5 puntos) Enumera las características de un algoritmo

Más detalles

Algoritmos y Programación II Curso 2006

Algoritmos y Programación II Curso 2006 Arboles: Un árbol es una colección de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raíz. Los nodos mantienen entre ellos una relación que define una estructura jerárquica

Más detalles

Arboles Binarios de Búsqueda en C++

Arboles Binarios de Búsqueda en C++ Arboles Binarios de Búsqueda en C++ por CCG/Mayo-2014 Tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostrare la implementación en lenguaje de programación

Más detalles

Definición recursiva de los árboles

Definición recursiva de los árboles Árboles Un árbol es una estructura de datos jerarquizada ada dato reside en un nodo, y existen relaciones de parentesco entre nodos: padre, hijo, hermano, ascendiente, descendiente, etc. Ejemplo: apítulos

Más detalles

Definición de árbol. Árboles

Definición de árbol. Árboles ÁRBOLES Árboles * Definición de árbol * Formas de representación * Nomenclatura sobre árboles * Árboles binarios * Declaración de árbol binario * Recorridos sobre árboles binarios * Construcción de un

Más detalles

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas

Más detalles

Estructuras de Datos Clase 20 Árboles de búsqueda

Estructuras de Datos Clase 20 Árboles de búsqueda Estructuras de Datos Clase 20 Árboles de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º 1. Ejercicio (1 puntos) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 (a) Escribir la secuencia de ordenación del array A por medio del algoritmo de InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8, 7, 1,

Más detalles

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios libros por lo que está prohibida su impresión y distribución.

Más detalles

Estructuras de Datos Clase 14 Árboles binarios de búsqueda

Estructuras de Datos Clase 14 Árboles binarios de búsqueda Estructuras de Datos Clase 14 Árboles binarios de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,

Más detalles

LECCION N 08 ARBOLES. Un árbol es un grafo A que tiene un único nodo llamado raíz que:

LECCION N 08 ARBOLES. Un árbol es un grafo A que tiene un único nodo llamado raíz que: LECCION N 08 ARBOLES Los árboles son estructuras de datos útiles en muchas aplicaciones. Hay varias formas de árboles y cada una de ellas es práctica en situaciones especiales, en este capítulo vamos a

Más detalles

Estructuras de datos utilizando JAVA

Estructuras de datos utilizando JAVA 1 Sistemas Expertos e Inteligencia Artificial / Guía II / Ciclo 01-2017 Centro de Investigación y Transferencia de Tecnología Estructuras de datos utilizando JAVA Facultad: Ingeniería Escuela: Computación

Más detalles

Tema 10: Árbol binario de búsqueda

Tema 10: Árbol binario de búsqueda Tema 10: Árbol binario de búsqueda M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Árbol binario de

Más detalles

Tema 7: Árboles ESTRUCTURAS DE DATOS 1

Tema 7: Árboles ESTRUCTURAS DE DATOS 1 Tema 7: Árboles ESTRUCTURAS DE DATOS 1 Contenidos Definiciones Conceptos de Árboles Binarios Especificación algebraica Implementaciones Programación con Árboles Binarios Árboles Binarios de Búsqueda Introducción

Más detalles

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz TEMA 1. Árboles Generalizados Son estructuras de datos no lineales, o también denominadas estructuras multienlazadas. El árbol es una estructura de datos fundamental en informática, muy utilizada en todos

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López rancisco. Hernández ópez fcoj23@cimat.mx structura de datos no lineal, en la que cada elemento sólo puede estar enlazado con su predecesor (o nodo padre) y sus sucesores (o nodos hijos) xiste un único

Más detalles

Estructuras de Datos. Clase 20 Árboles de búsqueda. Dr. Sergio A. Gómez.

Estructuras de Datos. Clase 20 Árboles de búsqueda. Dr. Sergio A. Gómez. Clase 20 Árboles de búsqueda http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Motivaciones El árbol binario de búsqueda permite implementar conjuntos mapeos con un tiempo de operaciones buscar, insertar

Más detalles

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile Árboles binarios Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Árbol: definición v Árbol (del latín arbor oris): Planta perenne,

Más detalles

Introducción a los árboles. Lección 11

Introducción a los árboles. Lección 11 Introducción a los árboles Lección 11 Árbol: Conjunto de elementos de un mismo tipo, denominados nodos, que pueden representarse en un grafo no orientado, conexo y acíclico, en el que existe un vértice

Más detalles

Tipos abstractos de datos (TAD)

Tipos abstractos de datos (TAD) Capítulo 2 Tipos abstractos de datos (TAD) Objetivo: Introducir al alumno las estructuras de datos mediante el concepto de tipo abstracto de datos. En este capítulo se presenta una primera implementación

Más detalles

Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid

Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid Árboles Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid cdk@it.uc3m.es Java: Árboles / 1 Índice Concepto Definición no recursiva

Más detalles

95.12 Algoritmos y Programación II Práctica 7: árboles

95.12 Algoritmos y Programación II Práctica 7: árboles Notas preliminares 95.12 Algoritmos y Programación II Práctica 7: árboles El objetivo de esta práctica es introducir distintas clases de estructuras de datos arbóreas y algoritmos para manipularlas. Los

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: Escribe tu nombre y apellidos en esta hoja e inmediatamente en todas las suplementarias, incluso las de sucio. El no hacerlo puede suponer tu expulsión Puedes utilizar el lápiz

Más detalles

ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II

ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II Contenido Concepto Características y Propiedades Tipos de Arboles 1. Libres 2. Binarios 3. Expansión Mínima Algoritmo de Kruskal Algoritmo Prim

Más detalles

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES TEMAS Recorrido de un árbol Máximo y mínimo Búsqueda de un elemento Borrado de un nodo 3 Características ARBOLES - CONCEPTOS Cada elemento del árbol

Más detalles

RECORRIDO EN ARBOLES

RECORRIDO EN ARBOLES RECORRIDO EN ARBOLES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Recorrido en árboles Definición Recorrido en

Más detalles

Árboles Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid

Árboles Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid Árboles Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid cdk@it.uc3m.es Java: Árboles / 1 Índice Concepto Definición no recursiva

Más detalles

El TAD Árbol. El TAD Árbol

El TAD Árbol. El TAD Árbol Objetivos! Presentar el árbol como estructura de datos jerárquica! Estudiar diferentes variantes de árboles, tanto en su especificación como en su implementación Contenidos 3.1 Concepto, definiciones y

Más detalles

Programación 2 Práctico 9 - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario

Programación 2 Práctico 9 - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario Práctico - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario Objetivos Trabajar con los tipos abstractos de datos Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario. Desarrollar y analizar

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: NOTA FINAL: Nota Practica (1 punto) + Nota Examen (9 punto) Es indispensable aprobar el examen (4,5 puntos) para aprobar la asignatura (5 puntos) La práctica es opcional Duración:

Más detalles

1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i.

1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i. 1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N - 1 b. N1-1 c. N d. N1 i.. Dado el siguiente árbol binario: raiz Q K T D M R Y B J P W N a. Cuáles son los antecesores

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López rancisco. Hernández ópez fcoj23@cimat.mx structura de datos no lineal, en la que cada elemento sólo puede estar enlazado con su predecesor (o nodo padre) y sus sucesores (o nodos hijos) xiste un único

Más detalles

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: Escribe tu nombre y apellidos en esta hoja e inmediatamente en todas las suplementarias, incluso las de sucio. El no hacerlo puede suponer tu expulsión Puedes utilizar el lápiz

Más detalles

Estructuras de Datos II

Estructuras de Datos II Estructuras de Datos II Segundo Parcial Los árboles B+ son estructuras de datos jerárquicas que se utilizan para almacenar y manipular datos ordenados de forma muy eficiente, ya que por su estructura y

Más detalles

Árboles y esquemas algorítmicos. Tema III

Árboles y esquemas algorítmicos. Tema III Árboles y esquemas algorítmicos Tema III Bibliografía Tema III (lecciones 15 a 22) del libro Campos Laclaustra, J.: Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Colección Textos

Más detalles

Segundo parcial de Programación 2

Segundo parcial de Programación 2 Generalidades: Segundo parcial de Programación 2 a. La prueba es individual y sin material. b. La duración es 3hs. c. Sólo se contestan dudas acerca de la letra. 8 de Julio de 2016 d. Escriba las hojas

Más detalles

Tema 4. Estructuras no lineales de datos: árboles

Tema 4. Estructuras no lineales de datos: árboles Fundamentos de Programación II Tema 4. Estructuras no lineales de datos: árboles Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de

Más detalles

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que: Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente

Más detalles

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º. Leonardo DaVinci. Piccasso La Tempestad. Mona Lisa

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º. Leonardo DaVinci. Piccasso La Tempestad. Mona Lisa 1. Ejercicio (3,5 puntos) a) Complentar la especificación public class Galeria { LinkedList cuadrosportitulo; LinkedList cuadrosporautor; LinkedListItr itrcuadrosportitulo; LinkedListItr itrcuadrosporautor;

Más detalles

Introducción a Árboles Árboles Binarios

Introducción a Árboles Árboles Binarios Introducción a Árboles Árboles Binarios Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Introducción a Árboles Estructuras hasta ahora Estructuras

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: 1. Ejercicio (3 puntos) a) Qué estructura de datos utilizarías para transformar la siguiente expresión a su equivalente expresión postfija? Argumenta tu decisión. Ej. entrada:

Más detalles

Estructuras de datos: Árboles binarios de

Estructuras de datos: Árboles binarios de Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles

Más detalles

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1 Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo

Más detalles

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES Los árboles (en general) se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes

Más detalles

Árboles de Decisión Árboles de Sintaxis

Árboles de Decisión Árboles de Sintaxis Árboles de Decisión Árboles de Sintaxis Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Árboles de Decisión Árbol de Decisión Forma gráfica de

Más detalles

Estructura de Datos. Árboles. Árboles. Primer Semestre, 2010 ÍNDICE DE CONTENIDOS

Estructura de Datos. Árboles. Árboles. Primer Semestre, 2010 ÍNDICE DE CONTENIDOS Estructura de Datos Árboles Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 ÍNDIE DE ONTENIDOS oncepto de árbol. Terminología básica Árboles generales Árboles inarios () Árboles inarios

Más detalles

Roberto Carlos Abreu Díaz. October 28, 2009

Roberto Carlos Abreu Díaz. October 28, 2009 Binarios binarios Java October 28, 2009 Binarios binarios Java 1 2 Binarios 3 binarios Java Código Java para búsqueda 4 Código Java para inserción 5 Caso 1 Caso 2 Caso 3 Outline Binarios binarios Java

Más detalles

Existen varios tipos de árboles: 5.1 Árboles binarios

Existen varios tipos de árboles: 5.1 Árboles binarios 5. Árboles. El árbol es una abstracción matemática de una estructura no lineal que modela una estructura jerárquica. El árbol juega un papel central en el diseño y análisis de algoritmos ya que se utilizan

Más detalles

4.1 Concepto de árbol.

4.1 Concepto de árbol. Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 1 4.1 Concepto de árbol. Una estructura de árbol es una forma de representar la JERARQUÍA de ciertos objetos en una forma gráfica.

Más detalles

EDA. Tema 8 Colas de Prioridad: Heaps

EDA. Tema 8 Colas de Prioridad: Heaps EDA. Tema 8 Colas de Prioridad: Heaps Natividad Prieto Sáez. DSIC EDA, T-8. Curso 02/03. N.Prieto p.1/55 Objetivos Estudio de las definiciones asociadas a las Colas de Prioridad: Especificación: operaciones

Más detalles