Estructuras de Datos y Algoritmos TDA LISTA

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

Download "Estructuras de Datos y Algoritmos TDA LISTA"

Transcripción

1 Estructuras de Datos y Algoritmos TDA LISTA

2 Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas y la estructura de datos

3 Diseño de una Clase (repaso)

4 Qué es una Lista? Ejemplo 1. ARENAS ALICEA, ALEXIS 2. CASANOVA DEL MORAL, LISA R 3. COLON VELEZ, MIGUEL A 4. GAMBOA NIEVES, EXEL 5. HERNANDEZ VIERA, MARIAN 6. JAIME COLLAZO, ASTRID M 7. MEDINA RIVERA, LUIS A 8. MUNOZ HERNANDEZ, JOSE L 9. NAVARRO LOPEZ, AIDA Y. 10. PASSAPERA SANCHEZ, LIANETTE 11. QUILES LOPEZ, JUAN 12. REYES COLON, JUAN C 13. REYES TORRES, JENNY 14. ROSADO MILLAN, ARELIS 15. SANTIAGO APONTE, MARIA M 16. TORRES VELAZQUEZ, DORCI LEE

5 Abstracción Características que tiene toda lista: tiene algo o está vacía si tiene algo... Tiene una cantidad finita de elementos Tiene un primer elemento tiene un último elemento cada elemento tiene una posición cada elemento tiene un sucesor (excepto el último) cada elemento tiene un predecesor (excepto el primero)

6 TDA Lista Una Lista es una colección lineal de objetos con las siguientes operaciones: crear una lista vacía detrminar si la lista está vacía determinar cantidad de elementos añadir item en determinada posición elininar iten de determinada posición ver el item en una posición dada

7 Interfaces una manera de representar un TDA en Java public interface ListInterface { public boolean isempty(); public int size(); public void add(int index, Object item); public Object get(int index) ; public void remove(int index); public void removeall(); } // end ListInterface

8 Qué falta? Estructura de Datos hay distintas opciones podemos seleccionar un arreglo para guardar los items y un entero para saber cuantos items hay Algoritmos dependen de la ED que se haya seleccionado

9 Una implantación con arreglos public class ListArrayBased implements ListInterface { private static final int MAX_LIST = 50; private Object items[]; // an array of list items private int numitems; // number of items in list public ListArrayBased() { items = new Object[MAX_LIST]; numitems = 0; } // end default constructor

10 public boolean isempty() {return (numitems == 0);} public int size() {return numitems;} // end size public void add(int index, Object item) { if (numitems <= MAX_LIST) { if (index >= 1 && index <= numitems+1) { for (int pos = numitems; pos >= index; pos--) { items[translate(pos+1)] = items[translate(pos)]; } // end for items[translate(index)] = item; numitems++; } } // end if } // end if } //end add

11 public Object get(int index) { if (index >= 1 && index <= numitems) { return items[translate(index)]; } // end if } // end get public void remove(int index) { if (index >= 1 && index <= numitems) { for (int pos = index+1; pos <= size(); pos++) { items[translate(pos-1)] = items[translate(pos)]; } // end for numitems--; } // end if } //end remove } // end ListArrayBased

12 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ?...? k osiciones del TDA 44

13 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ?...? k osiciones del TDA 44

14 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ? k osiciones del TDA 44

15 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ? k osiciones del TDA 44

16 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ? k osiciones del TDA 44

17 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ? k osiciones del TDA 44

18 Ilustración de add(3,44) Índices del arreglo numitems k K-1 MAX ? k osiciones del TDA 44

19 Ilustración de add(3,44) Índices del arreglo Sumar 1 numitems k K-1 MAX ? k osiciones del TDA 44

20 Ilustración de add(3,44) Índices del arreglo numitems K K-1 MAX ? k osiciones del TDA

21 Ventajas y Desventajas de la implantación de listas con arreglos Ventajas relativamente fácil ED arrego es parecido a TDA lista Desventajas se llena hay que estar rodándolo

22 Listas enlazadas TDA Nodo Un Nodo es un par información y vínculo al próximo nodo con las siguientes info operaciones: constructor setitem(x): pone x en el campo de información setnext(n): pone n en el vínculo al próximo getitem(): devuelve campo de información getnext(): devuelve referencia al próximo

23 Listas enlazadas Implantación de Nodo public class Node { private Object item; private Node next; public Node(Object newitem) { item = newitem; next = null; } // end constructor public Node(Object newitem, Node nextnode) { item = newitem; next = nextnode; } // end constructor public void setitem(object newitem) { item = newitem; } // end setitem public Object getitem() { return item; } // end getitem public void setnext(node nextnode) { next = nextnode; } // end setnext public Node getnext() { return next; } // end getnext } // end class Node

24 Listas enlazadas Implantación

25 public class ListReferenceBased implements ListInterface { // reference to linked list of items private Node head; private int numitems; // number of items in list //c ListReferenceBased(), isempty(), size() private Node find(int index) { Node curr = head; for (int skip = 1; skip < index; skip++) { curr = curr.getnext(); } // end for return curr; } // end find public Object get(int index) { if (index >= 1 && index <= numitems) { } // get reference to node, then data in node Node curr = find(index); Object dataitem = curr.getitem(); return dataitem; else { System.out.println( } // end if } // end get "List index out of bounds exception on get");

26 public void add(int index, Object item) { if (index >= 1 && index <= numitems+1) { if (index == 1) { // insert the new node containing item at // beginning of list Node newnode = new Node(item, head); head = newnode; } else { Node prev = find(index-1); // insert the new node containing item after // the node that prev references Node newnode = new Node(item, prev.getnext()); prev.setnext(newnode); } // end if numitems++; } else { System.out.println( "List index out of bounds exception on add"); } // end if } // end add

27 Insertar nodos ilustración

28 public void remove(int index) { if (index >= 1 && index <= numitems) { if (index == 1) { // delete the first node from the list head = head.getnext(); } else { Node prev = find(index-1); // delete the node after the node that prev // references, save reference to node Node curr = prev.getnext(); prev.setnext(curr.getnext()); } // end if numitems--; } // end if else { System.out.println("List index out of bounds exception on remove"); } // end if } // end remove

29 Borrar nodos ilustración

30 Análisis de ambas implantaciones Con Arreglos. Suponer que hay N elementos en la lista añadir(k,x) hay que rodar los que están de k en adelante el peor caso es cuando k=1 en ese caso hay que mover N cosas hay otras 4 instrucciones fuera del ciclo total de instrucciones en el peor caso: N+4

31 Análisis de ambas implantaciones Con Arreglos Delete(k) hay que rodar los elementos desde después de la posición k el peor caso es k=1 en ese caso hay que mover N-1 cosas hay otras 2 instrucciones fuera del ciclo total de instrucciones en el peor caso: N+1

32 Análisis de ambas implantaciones Con listas enlazadas Add(k,x) hay moverse de nodo en nodo hasta la posición k el peor caso es k=n en ese caso hay que moverse N-1 veces hay otras 3 instrucciones fuera del ciclo total de instrucciones en el peor caso: N+2

33 Análisis de ambas implantaciones Con listas enlazadas Remove(k,x) hay moverse de nodo en nodo hasta la posición k el peor caso es k=n en ese caso hay que moverse N-1 veces hay otras 3 instrucciones fuera del ciclo total de instrucciones en el peor caso: N+2

Listas enlazadas. Programación de Sistemas

Listas enlazadas. Programación de Sistemas Listas enlazadas Programación de Sistemas 1 Estructuras de datos Abstracción que representa un conjunto de datos en un programa con el objeto de facilitar su manipulación Diferentes estructuras de datos

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Listas enlazadas Julio Villena Román MATERIALES BASADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, Jesús Arias Fisteus, Carlos Alario Hoyos

Más detalles

Programación de sistemas Listas enlazadas

Programación de sistemas Listas enlazadas Programación de sistemas Listas enlazadas Departamento de Ingeniería Telemática 1 Contenidos *** Introducción a los genéricos Estructuras de datos Listas enlazadas La clase Node La clase LinkedList Ventajas

Más detalles

Estructuras de Datos Clase 4 Pilas y colas

Estructuras de Datos Clase 4 Pilas y colas Estructuras de Datos Clase 4 Pilas y colas 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 Tipo

Más detalles

Programación de sistemas Pilas y Colas

Programación de sistemas Pilas y Colas Programación de sistemas Pilas y Colas Departamento de Ingeniería Telemática 1 Contenidos Pilas (stacks) Colas (queues) Colas dobles (deques double-ended queues) 2 Pilas Estructura de datos lineal Inserción

Más detalles

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte)

Estructuras 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 detalles

Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte)

Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) Estructuras de Datos Clase 7 Listas e Iteradores (segunda 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 detalles

Estructuras de datos en memoria principal

Estructuras de datos en memoria principal Estructuras de datos Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Actualización: 11

Más detalles

Estructuras de Datos Clase 4 Pilas y colas

Estructuras de Datos Clase 4 Pilas y colas Estructuras de Datos Clase 4 Pilas y colas 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 Tipo

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

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

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común

Más detalles

Tema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz

Tema 8. Listas.  José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz Tema 8. Listas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓ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

Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos.

Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos. Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos. Con relación a la Estructura LISTA Indicar objetos reales que se puedan modelar con dicha estructura. Listas de Ordenes de visitas

Más detalles

SEGUNDO EXAMEN PARCIAL ESTRUCTURA DE DATOS Y ALGORITMOS 27 MARZO 2014 (Grupo 81M Leganés Mañana)

SEGUNDO EXAMEN PARCIAL ESTRUCTURA DE DATOS Y ALGORITMOS 27 MARZO 2014 (Grupo 81M Leganés Mañana) SEGUNDO EXAMEN PARCIAL ESTRUCTURA DE DATOS Y ALGORITMOS 27 MARZO 2014 (Grupo 81M Leganés Mañana) Apellidos y Nombre: Grupo Algunas reglas: Antes de comenzar el examen, escribe tu nombre y grupo. Lee atentamente

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

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

Á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

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

Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen 2 (Solución) Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Departamento

Más detalles

Árboles binarios de búsqueda

Árboles binarios de búsqueda Clase 27 Árboles binarios de búsqueda Árboles binarios de búsqueda En la clase anterior, definimos el concepto de árbol binario de búsqueda como un árbol binario de nodos que contienen una clave ordenada

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

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

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Julio 201 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen Julio (Solución) Grados Ing. Inf. y Mat. Inf. Julio 201 Departamento de Lenguajes,

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

Programación Tema 9: Bibliotecas y Colecciones. Programación DIT-UPM

Programación Tema 9: Bibliotecas y Colecciones. Programación DIT-UPM Programación Tema 9: Bibliotecas y Colecciones 1 Contenidos l Bibliotecas l Concepto de colección l Definición y uso de lista (List, ArrayList) l Recorridos sobre colecciones l Conjunto (Set, HashSet)

Más detalles

Estructuras de Datos

Estructuras de Datos 8 de marzo de 2011 1 2 3 4 5 Tipo de Dato Abstracto Un tipo de dato abstracto (TDA), corresponde a un conjunto de valores y un conjunto de operaciones sobre tales valores. s de TDA Enteros. Reales. Booleanos.

Más detalles

Examen Teórico Convocatoria de Junio de 2012

Examen 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 detalles

LISTAS CIRCULARES. // Métodos private CElemento() {} // constructor. ultimo

LISTAS CIRCULARES. // Métodos private CElemento() {} // constructor. ultimo LISTAS CIRCULARES Una lista circular es una lista lineal en la que el último elemento apunta al primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado. Las operaciones

Más detalles

Unidad Nº V Listas Enlazadas

Unidad Nº V Listas Enlazadas Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta

Más detalles

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

Titulació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 detalles

CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS

CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS 1 TEMAS A VER Listas simples genéricas Pilas Colas 2 LISTA SIMPLE GENÉRICA Una lista simple genérica nos permite crear listas de diferentes objetos: enteros, char,

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

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

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

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

PROGRAMACION 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 detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación Colecciones de Objetos José A. Mañas Dpto. de Ingeniería de Sistemas Telemáticos http://www.dit.upm.es/~pepe/doc/fprg/ colecciones Cuando tenemos varios

Más detalles

Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez

Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción a la Recursión

Más detalles

Lista Simple con Puntero al Principio y Puntero al Final

Lista Simple con Puntero al Principio y Puntero al Final Unidad 3 Estructuras de Datos Avanzadas Introducción Hasta el momento se estudiaron las siguientes estructuras estáticas y dinámicas básicas para representar diferentes colecciones de elementos: Arreglo

Más detalles

Soluciones. boolean pruebaiteraseriegeometrica () { Serie s= new SerieGeometrica (1, 2); return (s.iterator() instanceof IteraSerieGeometrica); }

Soluciones. boolean pruebaiteraseriegeometrica () { Serie s= new SerieGeometrica (1, 2); return (s.iterator() instanceof IteraSerieGeometrica); } dit UPM Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Laboratorio de Programación 19 de Junio de 2002 Soluciones EJERCICIO 1 (UNA PÁGINA: UNA HOJA POR

Más detalles

Colas. 5.1 Implementación

Colas. 5.1 Implementación Capítulo 5 Colas Las colas al igual que las pilas son un tipo especial de listas en las cuales los elementos se insertan por un lado y se eliminan por el otro. Es decir se sacan en el mismo orden en que

Más detalles

Estructuras de Datos y Algoritmos. Primeros ejemplos de TDA

Estructuras de Datos y Algoritmos. Primeros ejemplos de TDA Estructuras de Datos y Algoritmos Primeros ejemplos de TDA Repaso POO Programación Orientada a Objetos Principios encapsulamiento abstracción herencia polimorfismo POO y Java: encapsulamiento Todo está

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

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

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación

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. 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 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

Sólo una opción es correcta en cada pregunta. Cada respuesta correcta suma 1 4. puntos. Cada respuesta incorrecta resta 1 12

Sólo una opción es correcta en cada pregunta. Cada respuesta correcta suma 1 4. puntos. Cada respuesta incorrecta resta 1 12 Programación de Sistemas Grados en Ingeniería de Sistemas Audiovisuales, Ingeniería de Sistemas de Comunicaciones, Ingeniería en Sistemas de Telecomunicación e Ingeniería Telemática Leganés, de julio de

Más detalles

Tema 4- Representación Enlazada

Tema 4- Representación Enlazada Tema 4- Representación Enlazada Tema 4: Representación Enlazada Índice general: 1. Representación Enlazada: Variables referencia Java como enlaces. 2. Listas Enlazadas Genéricas. Operaciones y costes.

Más detalles

Estructuras de control selectivas

Estructuras 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

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Apellidos Nombre Firma NIA Grupo EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Pregunta 1 (0,5 puntos).- Indicar si las siguientes afirmaciones

Más detalles

Colecciones. Nadjet Bouayad-Agha Programación 2007

Colecciones. Nadjet Bouayad-Agha Programación 2007 Colecciones Nadjet Bouayad-Agha Programación 2007 ArrayList Un ArrayList es un array dinámico. No tiene restricciones de capacidad. Su tamaño se ajusta de forma dinámica. Constructor por defecto: new ArrayList().

Más detalles

Ejercicio 1 (proyecto prlistas, paquete listas)

Ejercicio 1 (proyecto prlistas, paquete listas) PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.

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