TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica
|
|
- José Medina Reyes
- hace 7 años
- Vistas:
Transcripción
1 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 continuaremos con definiciones de varios tipos de árboles y sus aplicaciones. Para cada tipo de árbol presentaremos su especificación e implementación, así como los principales algoritmos de manipulación. Contenidos 1. Introducción 2. Terminología fundamental 2.1. Recorridos de un árbol 3. Árboles binarios 3.1. Definición 3.2. Especificación 3.3. Implementación 4. Árboles binarios de búsqueda 4.1. Definición 4.2. Especificación 4.3. Implementación 5. Árboles binarios equilibrados 5.1. Árboles AVL 6. Árboles generales 6.1. Especificación 6.2. Implementación Bibliografía Básica Lewis J. y Chase J.; Estructuras de datos con Java. Diseño de estructuras y algoritmos. Departamento de informática 1 Reyes Pavón
2 Segunda Edición. Pearson Addisson Wesley Pags , Weiss, Mark Allen; Estructuras de datos en Java: compatible con JAVA 2, Addisson Wesley Págs , , , , , Rowe, Glen; An Introduction to Data Structures and Algorithms with Java, Prentice Hall,1998. Págs Complementaria Lewis, J. y Chase J. Estructuras de datos con Java. Diseño de estructuras y algoritmos. 2ª ed. Pearson. Addisson Wesley Págs , , Goodrich M. y Tamassia R., Data structures and Algorithms in JAVA 4ª ed. John Wiley & Sons Inc., 2006 Págs , , , , Weiss, Mark Allen, Estructuras de datos en Java: compatible con JAVA 2, Addisson Wesley Págs , Departamento de informática 2 Reyes Pavón
3 Tema 3. Árboles 1. Introducción Árbol: estructura no lineal y dinámica de datos más importante en computación Dinámica: puede cambiar durante la ejecución de un programa No lineal: a cada elemento del árbol pueden seguirle varios elementos 2. Terminología fundamental Árbol: estructura jerárquica de una colección de objetos Colección de elementos llamados nodos, uno de los cuales se distingue como raíz, Una relación (de "paternidad") que impone una estructura jerárquica sobre los nodos Ejs. de árboles: árboles genealógicos, organigramas Formalmente, un árbol se puede definir de manera recursiva como: Una forma particular de árbol es el árbol nulo o vacío, que es un árbol sin nodos Un solo nodo es, por sí mismo, un árbol Ese nodo es también la raíz de dicho árbol Departamento de informática 3 Reyes Pavón
4 Supóngase que n es un nodo y que A 1, A 2,.., A K son árboles con raíces n 1, n 2,.., n K, respectivamente. Se puede construir un nuevo árbol haciendo que n se constituya en el padre de los nodos n 1, n 2,.., n K n es la raíz y A 1, A 2,.., A K son los subárboles (o árboles hijos) de la raíz Los nodos n 1, n 2,.., n K reciben el nombre de hijos del nodo n y el nodo n recibe el nombre de padre de dichos nodos Gráficamente la estructura árbol se suele representar mediante un grafo jerárquico A B C D E F G H I J K Hermanos: nodos hijos del mismo padre Ej: B,C,D y E son hermanos Camino del nodo n 1 al nodo n K : sucesión de nodos de un árbol n 1, n 2,.., n K, tal que n i es el padre de n i+1, i = 1, 2,.., K-1 Ej: A, E, J, K es un camino Longitud de un camino: número de nodos del camino menos 1. Caminos de longitud cero: aquellos que van de cualquier nodo a él mismo Ej: el camino A, E, J, K tiene longitud 3 Si existe un camino de un nodo n a otro m, entonces n es un antecesor de m, y m es un descendiente de n En un árbol, la raíz es el único nodo que no tiene antecesores Departamento de informática 4 Reyes Pavón
5 Hoja o nodo terminal: nodo sin descendientes Subárbol de un árbol: nodo junto con todos sus descendientes Grado de un nodo: número de subárboles que tiene. Los nodos terminales u hojas tienen grado 0 Ej: el grado de A es 4. Altura de un nodo: longitud del camino más largo de ese nodo a una hoja. La altura del árbol es la altura de la raíz Ej: B tiene altura 1, E altura 2 y H altura 0. La altura del árbol es 3 Nivel o profundidad de un nodo: longitud del único camino desde la raíz a ese nodo. Por definición, la raíz tiene nivel 0. La profundidad de un árbol se define como el máximo de los niveles de los nodos del árbol Ej: B tiene nivel 1, H nivel 2. La profundidad del árbol es 3 Departamento de informática 5 Reyes Pavón
6 2.1. Recorridos de un árbol Estrategias para recorrer un árbol y procesar sus nodos: Recorridos en profundidad Recorridos en anchura Recorridos en profundidad Tres formas de recorrer un árbol en profundidad: Preorden u orden previo Inorden u orden simétrico Postorden u orden posterior Definición recursiva: Si el árbol A es nulo la lista vacía es el listado de los nodos del árbol A en los órdenes preorden, inorden y postorden Si el árbol A tiene un solo nodo ese nodo constituye el listado del árbol A en los tres órdenes Si el árbol A tiene más de un nodo, es decir, tiene como raíz el nodo n y los subárboles A 1, A 2,.., A K : A A 1 A 2 A k Departamento de informática 6 Reyes Pavón
7 Listado en preorden de A: raíz del árbol A, seguida de los nodos del árbol A 1 en preorden, luego por los nodos de A 2 en preorden y así sucesivamente hasta los nodos de A K en preorden Ej: A, B, F, G, C, D, H, E, I, J, K Listado en inorden de A: nodos del árbol A 1 en inorden, seguidos de la raíz n y luego por los nodos de A 2,.., A K en inorden Ej: F, B, G, A, C, H, D, I, E, K, J Listado en postorden de A: nodos del árbol A 1 en postorden, luego los nodos de A 2 en postorden y así sucesivamente hasta los nodos de A K en postorden y por último la raíz n Ej: F, G, B, C, H, D, I, K, J, E, A Recorrido en anchura Exploración del árbol por niveles, listando los nodos de izquierda a derecha y empezando por el nivel 0, luego el nivel 1,... Ej: A, B, C, D, E, F, G, H, I, J, K 3. Árboles binarios 3.1. Definición Árbol binario: un árbol donde cada nodo tiene como máximo grado 2 un árbol binario es Un árbol vacío, o Un árbol en que sus nodos tienen un hijo izquierdo y un hijo derecho. Cada uno de estos hijos es a su vez un árbol binario Departamento de informática 7 Reyes Pavón
8 Se distinguen los hijos de un nodo como izquierdo y derecho Ej: árboles binarios distintos Recorridos: Preorden: raíz, recorrido en preorden del subárbol izquierdo y recorrido en preorden del subárbol derecho Ejs: 1, 2, 3, 5, 4 (coincide en los dos árboles) Postorden: recorrido en postorden del subárbol izquierdo, recorrido en postorden del subárbol derecho y raíz Ejs: 5, 3, 4, 2, 1 (coincide en los dos árboles) Inorden: recorrido en inorden del subárbol izquierdo, raíz y recorrido en inorden del subárbol derecho Ejs: 3, 5, 2, 4, 1 1, 5, 3, 2, 4 Anchura: recorrido por niveles Ejs: 1, 2, 3, 4, 5 (coincide en los dos árboles) 3.2. Especificación Especificación cuasi-formal del TAD Árbol binario Departamento de informática 8 Reyes Pavón
9 public class ArbolBinario<E> // Declaración de tipos: ArbolBinario // Características: // Un árbol binario es un árbol vacío o un nodo con dos hijos (izquierdo // y derecho) que a su vez son árboles binarios // Los objetos son modificables // Constructores public ArbolBinario(); // Produce: Un árbol vacío public ArbolBinario(E elemraiz, ArbolBinario<E> hi, ArbolBinario<E> hd) throws NullPointerException; // Produce: Si hi o hd son null, lanza la excepción // NullPointerException. // En caso contrario, construye un árbol de raíz elemraiz, // hijo izquierdo hi e hijo derecho hd // Métodos public boolean esvacio(); // Produce: Cierto si this está vacío. Falso en caso contrario. public E raiz() throws ArbolVacioExcepcion; // Produce: Si this está vacío lanza la excepción // ArbolVacioExcepcion, // sino devuelve el objeto almacenado en la raíz public ArbolBinario<E> hijoizq() throws ArbolVacioExcepcion; // Produce: Si this está vacío lanza la excepción // ArbolVacioExcepcion, // sino devuelve el subárbol izquierdo public ArbolBinario<E> hijoder() throws ArbolVacioExcepcion; // Produce: Si this está vacío lanza la excepción // ArbolVacioExcepcion, // sino devuelve el subárbol derecho public boolean esta (E elemento); // Produce: Cierto si elemento está en this, // falso, en caso contrario public void setraiz(e elemraiz) throws ArbolVacioExcepcion; // Modifica: this // Produce: Si this está vacío lanza la excepción // ArbolVacioExcepcion, // sino asigna el objeto elemraíz a la raíz del árbol this public void sethijoizq(arbolbinario<e> hi) throws ArbolVacioExcepcion, NullPointerException; // Modifica: this Departamento de informática 9 Reyes Pavón
10 // Produce: Si hi es null, lanza la excepción NullPointerException. // En caso contrario, si this está vacío lanza la excepción // ArbolVacioExcepcion, // sino asigna el árbol hi como subárbol izquierdo de this public void sethijoder(arbolbinario<e> hd) throws ArbolVacioExcepcion, NullPointerException; // Modifica: this // Produce: Si hd es null, lanza la excepción NullPointerException. // En caso contrario, si this está vacío lanza la excepción // ArbolVacioExcepcion, // sino asigna el árbol hd como subárbol derecho de this public void suprimir (); // Modifica: this // Produce: El árbol binario vacío Ejemplo de uso del TAD Árbol binario public static <E> void preorden(arbolbinario<e> a) if (!a.esvacio()) System.out.print(a.raiz() + " "); preorden(a.hijoizq()); preorden(a.hijoder()); public static <E> void anchura(arbolbinario<e> a) Cola<ArbolBinario<E>> c = new EnlazadaCola<E>(); c.insertar(a); do a = c.suprimir(); if (!a.esvacio()) System.out.print(a.raiz() + " "); c.insertar(a.hijoizq()); c.insertar(a.hijoder()); while (!c.esvacio()); Departamento de informática 10 Reyes Pavón
11 3.3. Implementación Definición de una interfaz que describa los nombres de los métodos que soporta el TAD y cómo tienen que ser declarados y usados public interface ArbolBinario<E> public boolean esvacio(); public E raiz() throws ArbolVacioExcepcion; public ArbolBinario<E> hijoizq() throws ArbolVacioExcepcion ; public ArbolBinario<E> hijoder() throws ArbolVacioExcepcion; public boolean esta (E elemento); public void setraiz(e elemraiz) throws ArbolVacioExcepcion; public void sethijoizq(arbolbinario<e> hi) throws ArbolVacioExcepcion, NullPointerException; public void sethijoder(arbolbinario<e> hd) throws ArbolVacioExcepcion, NullPointerException; public void suprimir(); Para poder realizar una implementación mediante nodos enlazados es necesario definir una clase NodoBinario<E> public class NodoBinario<E> private E elemento; // referencia al elemento del nodo private NodoBinario<E> izq; // referencia al nodo izquierdo private NodoBinario<E> der; // referencia al nodo derecho public NodoBinario(E e, NodoBinario<E> hi, NodoBinario<E> hd) // Produce: Un nodo con valores e, hi y hd en sus atributos // elemento, izq y der, respectivamente elemento = e; izq = hi; der = hd; // métodos public E getelemento() // Produce: Devuelve el atributo elemento de this return elemento; public NodoBinario<E> getizq() // Produce: Devuelve el atributo izq de this return izq; Departamento de informática 11 Reyes Pavón
12 public NodoBinario<E> getder() // Produce: Devuelve el atributo der de this return der; public void setelemento(e e) // Modifica: this // Produce: Modifica el atributo elemento de this elemento = e; public void setizq(nodobinario<e> hi) // Modifica: this // Produce: Modifica el atributo izq de this izq = hi; public void setder(nodobinario<e> hd) // Modifica: this // Produce: Modifica el atributo der de this der = hd; Implementación de la interfaz ArbolBinario<E> usando la clase NodoBinario<E> public class EnlazadoArbolBinario<E> implements ArbolBinario<E> private NodoBinario<E> nodoraiz; // constructores public EnlazadoArbolBinario() nodoraiz = null; public EnlazadoArbolBinario(E elemraiz, ArbolBinario<E> hi, ArbolBinario<E> hd) throws NullPointerException if (hi==null hd ==null) throw new NullPointerException(); nodoraiz = new NodoBinario<E>(elemRaiz, ((EnlazadoArbolBinario<E>) hi).nodoraiz, ((EnlazadoArbolBinario<E>) hd).r); Departamento de informática 12 Reyes Pavón
13 private EnlazadoArbolBinario<E>(NodoBinario<E> raiz) nodoraiz = raiz; // métodos public boolean esvacio() return nodoraiz == null; public E raiz() throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("raiz: Árbol vacío"); return nodoraiz.getelemento(); public ArbolBinario<E> hijoizq() throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("hijoIzq: Árbol vacío"); return new EnlazadoArbolBinario<E>(nodoRaiz.getIzq()); public ArbolBinario<E> hijoder() throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("hijoDer: Árbol vacío"); return new EnlazadoArbolBinario<E>(nodoRaiz.getDer()); public boolean esta(e elemento) return esta(nodoraiz,elemento); private boolean esta(nodobinario<e> raiz, E elemento) if (raiz==null) return false; if (raiz.getelemento().equals(elemento)) return true; boolean temp = esta(raiz.getizq(),elemento); if (!temp) return esta(raiz.getder(),elemento); return temp; Departamento de informática 13 Reyes Pavón
14 public void setraiz(e elemraiz) throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("raiz: Árbol vacío"); nodoraiz.setelemento(elemraiz); public void sethijoizq(arbolbinario<e> hi) throws ArbolVacioExcepcion, NullPointerException if (hi==null) throw new NullPointerException(); if (esvacio()) throw new ArbolVacioExcepcion("setHijoIzq: Árbol vacío"); nodoraiz.setizq(((enlazadoarbolbinario<e>) hi).nodoraiz); public void sethijoder(arbolbinario<e> hd) throws ArbolVacioExcepcion, NullPointerException if (hd==null) throw new NullPointerException(); if (esvacio()) throw new ArbolVacioExcepcion("setHijoIzq: Árbol vacío"); nodoraiz.setder(((enlazadoarbolbinario<e>) hd).nodoraiz); public void suprimir() nodoraiz = null; 4. Árboles binarios de búsqueda 4.1. Definición Estructura de datos básica para almacenar elementos que están clasificados siguiendo algún orden lineal Propiedades: Para todo nodo A del árbol, Todos los valores de los nodos del subárbol izquierdo de A deben ser menores al valor del nodo A, y Departamento de informática 14 Reyes Pavón
15 Todos los valores de los nodos del subárbol derecho de A deben ser mayores o iguales al valor del nodo A Un recorrido en inorden del árbol proporciona una lista en orden ascendente de los valores almacenados en los nodos Operaciones: Búsqueda: determinar si x está en el árbol Si x = r localizado Si x < r buscar en el subárbol izquierdo Si x r buscar en el subárbol derecho Proceso análogo a una búsqueda binaria en un array Inserción: añadir un nuevo elemento x al árbol 1. Avanzar en el árbol comparando x con r 2. Repetir el paso 1 hasta que el subárbol donde deba insertarse sea el árbol vacío 3. Insertar el elemento Eliminación: borrar un elemento x del árbol 1. Si x es hoja se suprime x 2. Si el elemento a borrar tiene un solo descendiente se sustituye por ese descendiente 3. Si el elemento a borrar tiene los dos descendientes se sustituye por el menor elemento del subárbol derecho. Después se elimina el nodo correspondiente a dicho elemento 4.2. Especificación Especificación cuasi-formal public class ArbolBusqueda<E> // Declaración de tipos: ArbolBusqueda // Características: // Es un árbol binario donde para cada nodo se cumple la propiedad de // que todos los nodos con clave menor que la suya están en su Departamento de informática 15 Reyes Pavón
16 // subárbol izquierdo y todos los nodos con clave mayor o igual se // encuentran en el subárbol derecho. // Los objetos son modificables // Constructores public ArbolBusqueda(); // Produce: Un árbol vacío // Métodos public boolean esvacio(); // Produce: Cierto si el árbol está vacío. Falso en caso contrario. public E raiz() throws ArbolVacioExcepcion; // Produce: Si el árbol está vacío lanza la excepción // ArbolVacioExcepcion, // sino devuelve el objeto almacenado en la raíz public ArbolBusqueda<E> hijoizq() throws ArbolVacioExcepcion; // Produce: Si el árbol está vacío lanza la excepción // ArbolVacioExcepcion, // sino devuelve el subárbol izquierdo public ArbolBusqueda<E> hijoder() throws ArbolVacioExcepcion; // Produce: Si el árbol está vacío lanza la excepción // ArbolVacioExcepcion, // sino devuelve el subárbol derecho public void insertar(e o); // Modifica: this // Produce: Añade el objeto o a this public void eliminar(e o) throws ElementoIncorrecto; // Modifica: this // Produce: Si o no existe en el árbol, lanza la excepción // ElementoIncorrecto // sino elimina el objeto de this. public boolean buscar(e o) ; // Produce: Devuelve cierto si el objeto está en el árbol // y falso en otro caso 4.3. Implementación Cómo comparar los elementos de los nodos? Solución: los elementos deben ser instancias de una clase que implemente la interface Comparable<E> existente en java. Departamento de informática 16 Reyes Pavón
17 public interface Comparable<E> public int compareto(e e); Interfaz Java para el TAD Árbol Binario de Búsqueda public interface ArbolBusqueda <E extends Comparable<E>> public boolean esvacio(); public E raiz() throws ArbolVacioExcepcion; public ArbolBusqueda<E> hijoizq() throws ArbolVacioExcepcion; public ArbolBusqueda<E> hijoder() throws ArbolVacioExcepcion; public void insertar(e elemento); public void eliminar(e elemento) throws ElementoIncorrecto; public boolean buscar(e elemento); Escribir una clase concreta que implementa los métodos de la interfaz asociada con el TAD. Dicha clase hace uso de la clase NodoBinario<E>, definida anteriormente, que contiene una referencia a cada uno de los hijos del nodo además de una referencia al elemento que contiene. public class ArbolBinarioBusqueda<E extends Comparable<E>> implements ArbolBusqueda<E> private NodoBinario<E> raiz; public ArbolBinarioBusqueda() raiz=null; private ArbolBinarioBusqueda(NodoBinario<E> r) raiz=r; public boolean esvacio() return raiz==null; public E raiz() throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("raiz: Árbol vacío"); return raiz.getelemento(); public ArbolBusqueda<E> hijoizq() throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("hijoIzq: Árbol vacío"); return new ArbolBinarioBusqueda<E>(raiz.getIzq()); Departamento de informática 17 Reyes Pavón
18 public ArbolBusqueda<E> hijoder() throws ArbolVacioExcepcion if (esvacio()) throw new ArbolVacioExcepcion("hijoDer: Árbol vacío"); return new ArbolBinarioBusqueda<E>(raiz.getDer()); public void insertar(e elemento) raiz=insertar(raiz, elemento); protected NodoBinario<E> insertar(nodobinario<e> r, E elemento) if(r==null) return new NodoBinario<E>(elemento,null,null); else if (elemento.compareto(r.getelemento())<0) r.setizq(insertar(r.getizq(),elemento)); else r.setder(insertar(r.getder(),elemento)); return r; public void eliminar(e elemento) throws ElementoIncorrecto raiz=eliminar(raiz, elemento); protected NodoBinario<E> eliminar (NodoBinario<E> r, E elemento) throws ElementoIncorrecto if (r==null) throw new ElementoIncorrecto("eliminar: elemento no existe"); else if (elemento.compareto(r.getelemento())<0) r.setizq(eliminar(r.getizq(),elemento)); else if (elemento.compareto(r.getelemento())>0) r.setder(eliminar(r.getder(),elemento)); else if (r.getizq()!=null && r.getder()!=null) r.setelemento(getmasizq(r.getder())); r.setder(eliminarmasizq(r.getder())); else return(r.getizq()!=null)?r.getizq():r.getder(); return r; protected E getmasizq(nodobinario<e> r) while (r.getizq()!=null) r=r.getizq(); return r.getelemento(); protected NodoBinario<E> eliminarmasizq(nodobinario<e> r) if (r.getizq()==null) return r.getder(); else r.setizq(eliminarmasizq(r.getizq())); return r; Departamento de informática 18 Reyes Pavón
19 public boolean buscar(e elemento) return buscar(raiz, elemento); protected boolean buscar (NodoBinario<E> r, E elemento) if (r==null) return false; else if (elemento.compareto(r.getelemento())==0) return true; else if (elemento.compareto(r.getelemento())<0) return buscar(r.getizq(),elemento); else return buscar(r.getder(),elemento); Los métodos buscar, insertar y eliminar llaman a un método protected que recibe como parámetro la raíz del árbol y una referencia al elemento. Los métodos que desde un punto de vista lógico son privados, tienen como atributo de visibilidad protected, en lugar de private. Esto es debido a que se usarán posteriormente en una clase derivada de ArbolBinarioBusqueda. Los métodos getmasizq y eliminarmasizq se usan cuando se elimina un nodo del árbol binario de búsqueda que tiene dos descendientes. Para simplificar el código se emplea recursión, pero sería posible una implementación no recursiva. Departamento de informática 19 Reyes Pavón
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 detallesEstructura 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 detallesEstructuras 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 detallesEstructura 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 detallesTemario. 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Á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 detallesAná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 detallesEl 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 detallesNIVEL 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 detallesEstructuras 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 detallesUNIVERSIDAD 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 detallesESTRUCTURA 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 detallesClase 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 detallesEl 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 detallesEDA. 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Á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 detallesEstructuras 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 detallesContenido 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 detallesDefinició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 detallesESTRUCTURAS 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 detallesEstructura 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 detallesTema Á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 detallesAlgoritmos 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ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).
ÁRBOL BINARIO - Un árbol binario puede definirse como un árbol que en cada nodo puede tener como mucho grado 2, es decir, a lo más 2 hijos. Los hijos suelen denominarse hijo a la izquierda e hijo a la
Más detalles1. Árbol Binario de Búsqueda: Las clases Java NodoABB y ABB. 1. Definición y representación en Java 2. Operaciones y su coste estimado
Tema 11- Implementación de Cola de Prioridad y Diccionario Mediante un ABB Tema 11- Implementación de Cola de Prioridad y Diccionario Mediante un Árbol Binario de Búsqueda Germán Moltó Escuela Técnica
Más detalles1. 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.
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
Más detallesPRÁ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 detallesProgramació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 detallesRepresentaciones de árboles
Clase 9 Árboles Generales (segunda parte) http://cs.uns.edu.ar/~sag Bahía Blanca, rgentina Representaciones de árboles Del padre Lista de hijos Goodrich& Tamassia: Del padre + Lista de hijos Hijo extremo
Más detallesAlgoritmos 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 detallesProgramació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Á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 detallesTema 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 detallesIntroducció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 detallesEstructuras 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 detallesTema 14: ÁRBOLES Algoritmos y estructuras de datos I - Tema 14 1
Tema 14: ÁRBOLES Estructura Árbol Definición: Una estructura de árbol con tipo base Valor es: (i) Bien la estructura vacía. (ii) Un conjunto finito de uno o más nodos, tal que existe un nodo especial,
Más detallesEstructuras 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 detallesCapí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 detallesListas Posicionales. Listas posicionales
Listas Posicionales Definición: Una lista posicional es una colección de elementos homogéneos, con una relación lineal entre ellos, en la que se puede acceder a los elementos mediante su posición. Se puede
Más detallesDefinició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 detallesDefinición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.
Definición: ÁRBOL El árbol es como un tipo de grafo cíclico, conexo y no dirigido. Las estructuras tipo árbol se usan principalmente para representar datos con una relación jerárquica entre sus elementos.
Más detallesTema 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 detallesEstructuras de Datos Clase 10 Árboles binarios
Estructuras de Datos Clase 10 Árboles binarios 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 detallesDEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
Más detallesEduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa
Estructura de Datos y de la Información Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Laboratorio de Investigación y Desarrollo en Inteligencia Artificial Departamento de Computación
Más detallesAlgoritmos y estructuras de datos
Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesTema 10. Árboles. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía
Tema 10. Árboles http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información Universitat
Más detallesExisten 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 detallesCarlos 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Á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 detallesAlgoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores 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/26 Iteradores Es muy común
Más detallesEstructuras de Datos Clase 10 Árboles binarios
Estructuras de Datos Clase 10 Árboles binarios 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Á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 detallesASIGNATURA: (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 detallesEjercicio 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 detallesPara la resolución de los ejercicios, se dispone de una implementación de árbol binario a través de la clase BinTree con la siguiente especificación.
Para la resolución de los ejercicios, se dispone de una implementación de árbol binario a través de la clase BinTree con la siguiente especificación. public class BinTree { public BTNode root; // la raiz
Más detallesTema 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 detallesUNIVERSIDAD 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 detallesArboles 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 detallesSegundo 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 detallesTema 7- Modelo y Aplicación de Pila, Cola y. Tema 7- Modelo y Aplicación de. Lista Con Punto de Interés
Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Índice general:. Modelo y Aplicación de Lista con Punto de Interés
Más detallesFrancisco 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 detallesARBOLES 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 detallesPráctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
Más detallesEJERCICIO 2 (3 PUNTOS) A) Sea el árbol binario AVL de la figura siguiente: B) Dada la estructura de la figura siguiente:
ASIGNATURA TITULACIÓN APELLIDOS ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN EJERCICIO 1 (3 PUNTOS) GRUPO CURSO CONVOCATORIA NOMBRE 23 / 24 EXTRAORDINARIA- SEPTIEMBRE CALIFICACIÓN Dado el tipo abstracto de
Más detallesEstructura 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 detallesExamen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
Más detallesIntroducció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 detallesEstructura 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 detallesTema 12- Implementación de Cola de Prioridad y Ordenación Rápida según un Montículo Binario
Tema - Implementación de Cola de Prioridad y Ordenación Rápida según un Montículo Binario Tema - Implementación de Cola de Prioridad y Ordenación Rápida según un Montículo Binario Germán Moltó Escuela
Más detallesInstituto de Computación. Facultad de Ingeniería. Universidad de la República Examen de Programación 2 03 de Agosto de 2006 Generalidades:
Instituto de Computación. Facultad de Ingeniería. Universidad de la República Examen de Programación 2 03 de Agosto de 2006 Generalidades: La prueba es individual y sin material. La duración es 3 horas.
Más detallesEstructura de Datos. Estructuras de Datos no lineales : Árboles
Estructura de Datos Estructuras de Datos no lineales : Árboles Definiciones de Árbol En términos matemáticos, un árbol es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Más detallesÁrboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63
y B + 3.8 y B+! Problema de los ABB cuando se usa almacenamiento secundario:! la búsqueda de un elemento requeriría muchos accesos a disco (un acceso a disco es extremadamente lento si lo comparamos con
Más detallesEstructuras de Datos y Algoritmos. Curso 2004/05 Tema 6. Árboles y Árboles Binarios
Estructuras de Datos y Algoritmos. Curso 2004/05 Tema 6. Árboles y Árboles Binarios Mabel Galiano Natividad Prieto Departamento de Sistemas Informáticos y Computación Escuela Técnica Superior de Informática
Más detallesIntroducción: una simple colección
Introducción: una simple colección Implemente una clase denominada Lista. La clase deberá mantener una colección de números y proveer los siguientes i métodos: Listas dinámicas simplemente enlazadas Franco
Más detallesTipos 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 detallesTema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No.
Programación IV. Guía No. 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Arboles en C#. Objetivos Específicos Definir el concepto de la estructura de datos Árbol. Implementar
Más detallesEstructuras de Datos Clase 6 Listas e Iteradores (primera parte)
Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) 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
Más detallesUnidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Más detallesTema 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 detallesFUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Más detallesIMPLEMENTACIÓN DE PILAS CON LISTAS EN C++
IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string
Más detallesCLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;
Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja
Más detallesPROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07
PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada
Más detallesTema 6- Estructuras de Datos: Jerarquía de. Tema 6- Estructuras de Datos: Jerarquía de una EDA
Tema 6- Estructuras de Datos: Jerarquía de una EDA Tema 6- Estructuras de Datos: Jerarquía de una EDA Índice general: 1. Definición y Uso de una EDA 2. Diseño de una EDA en Java 3. Organización de una
Más detallesProgramación TADs Arboles
Programación 2 10 - TADs Arboles 1 Arboles Una estructura árbol (árbol general) con tipo base T es, 1. O bien la estructura vacía 2. O bien un nodo de tipo T, llamado raíz del árbol, junto con un número
Más detalles12/08/2017 AVL. Especificación sobre árboles AVL. AVL: rotaciones
VL Se dice que un árbol binario está balanceado si y sólo si en cada nodo las alturas de sus 2 subárboles difieren como máximo en 1. Todos los árboles perfectamente balanceados son árboles VL. Especificación
Más detallesB) Contestar Verdadero o Falso a las siguientes preguntas, justificando la respuesta:
ASIGNATURA CURSO CALIFICACIÓN ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN 2005 / 2006 TITULACIÓN GRUPO CONVOCATORIA EXTRAORDINARIA - DIC B) Contestar Verdadero o Falso a las siguientes preguntas, justificando
Más detallesSolución práctico 6 Tipos Abstractos de Datos Lista, Pila y Cola
Objetivos Trabajar sobre el Tipo Abstracto de Datos Lista, reforzando el desacople entre especificación e implementación. Retomar las implementaciones vistas, como ser Listas Doblemente Encadenadas, Listas
Más detallesARBOLES B. Lo que si es cierto es que la letra B no significa "binario", ya que:
ARBOLES B El problema original comienza con la necesidad de mantener índices en almacenamiento externo para acceso a bases de datos, es decir, con el grave problema de la lentitud de estos dispositivos
Más detallesEstructuras de datos. Estructuras de datos
Un arbol es un conjunto de nodos que cumplen con las relaciones padre, hijo y hermano. Llamamos hijos de un nodo a todos los nodos que podemos llegar directamente por medio de un apuntador hacia ellos
Más detallesLECCION 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 detallesMatemáticas Básicas para Computación
Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 11 Nombre: Árboles Objetivo: Al término de la sesión el participante conocerá los tipos de grafos específicamente
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesSegundo Parcial de Programación 2 7 de junio de 2017
Instituto de Computación. Facultad de Ingeniería. Universidad de la República Segundo Parcial de Programación 2 7 de junio de 2017 Problema 1 (30 puntos) Considere un TAD T que permita almacenar a lo sumo
Más detallesTitulación: Ingeniero Técnico en Informática de Gestión Curso: 2º
1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,
Más detallesTema 1. Introducción a los TAD
Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con
Más detallesEstructuras de control selectivas
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos
Más detalles