Tema 6. Estructuras de Datos Estáticas

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

Download "Tema 6. Estructuras de Datos Estáticas"

Transcripción

1 Tema 6. Estructuras de Datos Estáticas Contenido del tema: Anidamiento de estructuras Búsqueda y ordenación Francisco Rus Mansilla Dpto. Lenguajes y Ciencias de la Computación 1 Registros con campos estructurados Los campos de un registro pueden ser de cualquier tipo, simple o estructurado: TIPOS ENUM {oros, copas, espadas, bastos} TPalo ENUM {as, dos, tres, cuatro, cinco, seis, siete, sota, caballo,rey} TValor ENUM {Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio,Agosto,Septiembre, Octubre, Noviembre, Diciembre} TMes REGISTRO TCarta TPalo p TValor v FINREGISTRO REGISTRO TFecha N d TMes m N a FINREGISTRO C TCadena [1..20] REGISTRO TPersona TCadena nombre TFecha nacimiento FINREGISTRO 2

2 Registros con campos estructurados El tipo Registro puede ser el tipo componente de otros tipos estructurados. TIPOS TPersona Grupo [1..80] TCarta TMontón [1..40] Tratamiento de estas estructuras a distintos niveles. Si tenemos TPersona p p p.nombre p.nombre[i] p.nacim p.nacim.d variable de tipo TPersona array de 20 caracteres carácter i-ésimo de p.nombre registro de tipo TFecha elemento de tipo TDía 3 Registros con campos estructurados TIPOS C TpCadena[1..256] REGISTRO TFecha N dia, mes, año FINREGISTRO REGISTRO TpPersona TpCadena nombre, direccion // Arrays N dni, telefono // Campos con tipos simples TFecha nacimiento // Registros FINREGISTRO TpPersona TpAgenda[1..500] TpAgenda miagenda TpPersona ego = { yo, aquí, 55, 66, 12, 12, 1983} miagenda[1].nombre = Julián ; ego.nacimiento.dia = 1 4

3 Ejercicio propuesto: agenda Hacer un programa completo con dos estructuras de datos diferentes (véase a continuación). Algoritmos necesarios: Insertar una nueva persona Borrar una persona Listado de todas las personas en la agenda Buscar una persona Estudiar y comparar los algoritmos diseñados, indicando las operaciones más eficientes e ineficientes para cada uno de los dos casos... 5 Mediante un registro con un array... CONST N MAX_CAD = 20 N MAX_PER = 50 Un contador de personas insertadas. Inserciones de registros al final del array. Extraer una persona implica desplazamientos en el array. TIPOS C TCadena [1..MAX_CAD] REGISTRO TInfoPersona TCadena nombre, apellido1, apellido2 N tfno FINREGISTRO TInfoPersona TListaPersonas [1..MAX_PER] REGISTRO Tagenda N numpersonas TListaPersonas lista FINREGISTRO Es fácil saber si el array está lleno o vacío. 6

4 Mediante un array de registros... CONST N MAX_CAD = 20 N MAX_PER = 50 TIPOS C TCadena [1..MAX_CAD] REGISTRO TInfoPersona TCadena nombre, ap1, ap2 N tfno B vacio FINREGISTRO TInfoPersona TAgenda [1..MAX_PER] Un campo booleano indica si la posición del array está ocupada. Inserciones de registros en la primera posición libre. Extraer una persona no implica desplazamientos en el array. Para saber si el array está lleno o vacío hay que recorrerlo buscando huecos. 7 Ejemplo: cadenas de caracteres CONST TIPOS Otra implementación N MAX = 80 // Máximo núm. de caracteres /* Mediante esta implementación no necesitaremos el delimitador de fin de cadena */ REGISTRO TCadena C ch [1..MAX] // Array de caracteres N long // Longitud de la cadena FINREGISTRO 8

5 Longitud de la cadena de caracteres ALGORITMO N CalcularLongitud (E TCadena cad) DEVOLVER cad.long FIN CalcularLongitud Otra implementación 9 Concatenar cadenas de caracteres ALGORITMO TCadena Concatenar(E TCadena c1,c2) N long1, long3, i TCadena c3 // Cadena resultante long1 = CalcularLongitud(c1) long3 = long1 + CacularLongitud(c2) SI (long3 > MAX) ENTONCES long3 = MAX c3.ch = c1.ch PARA i = long1 + 1 HASTA long3 HACER c3.ch[i] = c2.ch[i-long1] FINPARA c3.long = long3 DEVOLVER c3 FIN Concatenar Otra implementación 10

6 Encontrar un patrón en una cadena ALGORITMO N EncontrarPatrón (E TCadena c1,c2) N i,j,long1,long2, posicion B encontrada long1 = CalcularLongitud(c1) long2 = CalcularLongitud(c2) i = 0 encontrada = FALSO MIENTRAS i+long2 <= long1 Y NO encontrada HACER j = 1 MIENTRAS j<=long2 Y c1.ch[i+j]==c2.ch[j] HACER j = j + 1 FINMIENTRAS SI j > long2 ENTONCES encontrada = VERDADERO j SINO i i = i + 1 c2 FINMIENTRAS SI encontrada ENTONCES posicion = i+1 c1 SINO posicion = 0 // Si no encontramos el patrón, devolvemos 0 DEVOLVER posicion FIN EncontrarPatrón Otra implementación 11 Búsqueda y ordenación Sobre estructuras de datos: Se busca un elemento Se ordenan sus elementos (si éstos son ordinales) El algoritmo empleado depende de la estructura de datos utilizada. Tipos de algoritmos: Desarrollados por el programador De librerías de programas 12

7 Algoritmos de búsqueda de datos Consiste en buscar (indicar si está o no) un elemento en una estructura de datos. Es una operación muy frecuente en programación, por lo que existen diversidad de algoritmos. Diferencias de eficiencia entre algoritmos La estructura de datos puede considerarse una lista de datos. Cada dato de la lista se denomina componente o elemento (de algún TipoElemento). Una lista puede implementarse mediante un array: TipoElemento TpVector[0..MAX-1] 13 Búsqueda secuencial Aplicabilidad: Desconocimiento acerca de la organización de los datos. Estructura sólo accedida secuencialmente. Idea clave: Visitar todas las posiciones del array, hasta que se encuentre el elemento o se llegue al final del array (el elemento no está). ALGORITMO B BuscarSec(E TpVector v; E TipoElemento x) N ind B encontrado = FALSO ind = 0 MIENTRAS ind<max Y v[ind]!= x HACER ind = ind + 1 FINMIENTRAS SI ind!=max ENTONCES encontrado = VERDADERO DEVOLVER encontrado FIN BuscarSec 14

8 Sobre la búsqueda secuencial... En el bucle: la evaluación en cortocircuito de la condición evita errores de acceso a la estructura de datos. Eficiencia según el número de operaciones de comparación (v[ind]!= x) para un array de tamaño N: Mejor Caso 1 comparación Peor Caso N comparaciones Caso Promedio N/2 comparaciones Condiciones para el fin de la búsqueda: Elemento hallado: v[ind] == x Elemento no hallado: ind == MAX 15 Búsqueda secuencial con centinela Posible optimización (aumento de eficiencia) del algoritmo de búsqueda secuencial: eliminar el chequeo (ind < MAX) Método: asegurarnos que x está en v, añadiendo x al final del array (centinela): v[max] = x Incrementamos en 1 el tamaño del array: TipoElemento TpVector[0..MAX] ALGORITMO B BuscarSecCen(E TpVector v; E TipoElemento x) N ind B encontrado = FALSO ind = 0 MIENTRAS v[ind]!= x HACER ind = ind + 1 FINMIENTRAS SI ind!=max ENTONCES encontrado = VERDADERO DEVOLVER encontrado FIN BuscarSecCen 16

9 Búsqueda binaria Aplicabilidad: Se tiene información adicional: cómo están organizados los datos. Búsqueda más eficiente porque los datos están ordenados: TipoElemento TpVector[0..MAX-1] Orden ascendente: k tal que 1<=k<=MAX-1, se cumple que v[k-1]<=v[k] Orden descendente: k tal que 1<=k<=MAX-1, se cumple que v[k-1]>=v[k] Idea clave: Inspeccionar un elemento de índice m elegido arbitrariamente (siendo x el elemento a buscar): -Si v[m] == x fin de la búsqueda -Si v[m] < x k/ k<=m, v[k] eliminados -Si v[m] > x k/ k>=m, v[k] eliminados 17 Algoritmo de búsqueda binaria ALGORITMO B BuscarBin (E TpVector v; E TipoElemento x) N izq, der, m B encontrado izq = 0 der = MAX - 1 encontrado = FALSO MIENTRAS izq<= der Y NO encontrado HACER m = // cualquier valor entre izq y der SI v[m]==x ENTONCES encontrado= VERDADERO SINO SI v[m] < x ENTONCES izq = m + 1 SINO der = m - 1 FINMIENTRAS DEVOLVER encontrado FIN BuscarBin 18

10 Sobre la búsqueda binaria... Elección de m: No afecta a la corrección del algoritmo. Objetivo: eliminar el mayor número de elementos en cada iteración. Elección óptima: m=(izq+der) DIV 2 Eficiencia (peor caso): Trunc(log 2 N) Algoritmos de ordenación La ordenación de datos es una tarea muy relevante en programación. Es un problema clásico ampliamente estudiado, por lo que existen diversidad de algoritmos. Los algoritmos difieren en su eficiencia: Economía del uso de memoria. Economía del número de operaciones: Algotimo más eficiente: Quicksort (complejidad computacional de N log 2 N), basado en la técnica de la recursividad. Algoritmos menos eficientes: Inserción, Selección e Intercambio (complejidad computacional de N 2 ). 20

11 Ordenación de elementos de un vector Tipo array para la estructura de datos: TipoElemento TpVector[1..MAX] Sobre TipoElemento debe haber definida una relación de orden. El problema de la ordenación (ascendente) de un vector V, de tamaño N, consiste en encontrar una permutación s de los elementos del vector, tal que se cumpla: V[s i ] <= V[s i+1 ], i / 1 i N-1 El orden deseado será: V[s 1 ], V[s 2 ],..., V[s N ]. 21 Ordenación por inserción Idea clave: para cada paso i, los elementos V 1,..., V i-1 están ordenados y se inserta entre ellos V i de forma que, después de la inserción, los elementos V 1,..., V i estén ordenados. Ejemplo: se debe ordenar la siguiente colección de elementos:

12 Secuencia de ordenación por inserción Paso 1: i=2. Suponemos V 1,...,V 1 ordenados, insertamos V 2 =>V 1,...,V 2 ordenados Paso 2: i=3. Suponemos V 1,...,V 2 ordenados, insertamos V 3 => V 1,...,V 3 ordenados Paso 3: i=4. Suponemos V 1,..., V 3 ordenados, insertamos V 4 => V 1,...,V 4 ordenados Paso 4: i=5. Suponemos V 1,..., V 4 ordenados, insertamos V 5 => V 1,...,V 5 ordenados Paso 5: i=6. Suponemos V 1,..., V 5 ordenados, insertamos V 6 => V 1,...,V 6 ordenados Paso 6: i=7. Suponemos V 1,..., V 6 ordenados, insertamos V 7 => V 1,...,V 7 ordenados Paso 7: i=8. Suponemos V 1,..., V 7 ordenados, insertamos V 8 => V 1,...,V 8 ordenados Operación más crítica: la inserción Inserción directa: abrir un hueco en la sucesión V 1,...V i-1 para encajar V i Ejemplo: Paso 4: i=5. Suponemos V 1,..., V 4 ordenados, insertamos V 5 => V 1,..., V 5 ordenados

13 Algoritmo de ordenación por inserción ALGORITMO TpIndice BuscarPosicion (E TipoElemento valor; E TpVector v; E TpIndice fin) TpIndice i i = 1 MIENTRAS i <= fin Y v[i] < valor HACER i = i + 1 FINMIENTRAS DEVOLVER (i) FIN BuscarPosicion Subalgoritmos auxiliares El TpIndice es el tipo por el que está indizado el array (suponemos N para simplificar) ALGORITMO AbrirHueco (ES TpVector v; E TpIndice inicio, fin) TpIndice i PARA i=fin HASTA inicio + 1 (PASO -1) HACER v[i] = v[i-1] FINPARA FIN AbrirHueco 25 Algoritmo principal de ordenación ALGORITMO OrdenarPorInsercion (ES TpVector v) TpIndice i, pos TipoElemento aux PARA i=2 HASTA MAX HACER aux = v[i] pos = BuscarPosicion(aux, v, i-1) AbrirHueco(v, pos, i) V[pos] = aux FINPARA FIN OrdenarPorInsercion 26

14 Búsqueda binaria de la pos. de inserción ALGORITMO TpIndice BuscarPosicion (E TipoElemento valor; E TpVector v; E TpIndice fin) TpIndice izd, der, med izq = 1 der = fin MIENTRAS izd <= der HACER med = (izq + der) DIV 2 Reduce el número de operaciones de comparación respecto a la búsqueda secuencial SI valor < v[med] ENTONCES der= med - 1 SINO izq= med + 1 FINMIENTRAS DEVOLVER (izq) FIN BuscarPosicion 27 Ordenación por selección Idea Clave: 1. Determinar la posición del menor elemento del array 2. Intercambiar dicho elemento por el elemento que hay en la primera posición V 1 3. Repetir esta operación con los N-1 elementos restantes V 2,..., V MAX 28

15 Ordenación por selección Ejemplo Paso1: Paso2: Paso3: Paso5: Paso6: Paso7: Resultado Paso4: N elementos Posición iésima N-1 Intercambios Menor elemento a partir de la iésima posición 29 Ordenación por selección ALGORITMO TpIndice OrdenarPorSelección(ES TpVector v) TpIndice i, pos TipoElemento menor PARA i = 1 HASTA Max-1 HACER pos = i menor = v[i] PARA j = i+1 HASTA Max HACER SI v[j] < menor ENTONCES pos = j menor = v[j] FINPARA v[pos] = v[i] v[i] = menor FINPARA FIN OrdenarPorSelección 30

16 Ordenación por intercambio Idea Clave: Comparar pares de elementos adyacentes e intercambiarlos entre sí 1. Comparar V N y V N-1, si no están ordenados, intercambiarlos 2. Comparar V N-1 y V N-2, repitiendo el proceso 3. El proceso continúa hasta que cada elemento del array haya sido comparado con sus elementos adyacentes 31 Ordenación por intercambio En el primer recorrido el elemento más pequeño del array sube posición a posición hasta ocupar la primera posición del array Método de la Burbuja En el segundo recorrido el segundo elemento mayor llegará a la segunda posición y así sucesivamente 32

17 Ordenación por intercambio Ejemplo Paso1: Ordenación por intercambio Paso2: Paso3,..., Paso9:

18 Ordenación por intercambio ALGORITMO TpIndice OrdenarPorIntercambio(ES TpVector v) TpIndice i, j TipoElemento temp PARA i = 2 HASTA Max HACER PARA j = Max HASTA i (PASO 1) HACER SI v[j-1] > v[j] ENTONCES temp = v[j-1] v[j-1] = v[j] Intercambio v[j] = temp FINPARA FINPARA FIN OrdenarPorIntercambio 35 Bibliografía Programación en C++. Algoritmos, estructuras de datos y objetos. L. Joyanes. McGraw-Hill, Cómo programar en C/C++. H.M. Deitel, P.J. Deitel. Prentice Hall, Pascal. Dale/Orshalick. Ed. McGraw Hill 1986 Programación I. José A. Cerrada y Manuel Collado. U.N.E.D Fundamentos de Programación. Joyanes Aguilar. McGraw Hill. 2ª Edición, Introduction to programming with Modula-2. Saim Ural/Suzan Ural. Wiley

Búsqueda y Ordenación Contenido del Tema

Búsqueda y Ordenación Contenido del Tema Búsqueda y Ordenación Contenido del Tema T E M A 1 1.1. Introducción 1.2. Búsqueda 1.2.1. Búsqueda Secuencial 1.2.2. Búsqueda Binaria 1.2.3. Búsqueda en Cadenas 1.3. Ordenación 1.3.1. Ordenación por Inserción

Más detalles

Tipos de Datos Compuestos Contenido del Tema T E M A Arrays Cadenas de caracteres Registros

Tipos de Datos Compuestos Contenido del Tema T E M A Arrays Cadenas de caracteres Registros Tipos de Datos Compuestos Contenido del Tema T E M A 6.1. Arrays 6.2. Cadenas de caracteres 6.3. Registros 6 Necesidad de los Arrays Con los tipos de datos estudiados hasta ahora. Como representamos colecciones

Más detalles

Métodos de ordenamiento y búsqueda en vectores

Métodos de ordenamiento y búsqueda en vectores Métodos de ordenamiento y búsqueda en vectores Ordenación (clasificación) Es la operación de organizar un conjunto de datos en algún orden o secuencia específica, tal como creciente o decreciente para

Más detalles

TEMA 1. Recursividad. Recursividad CONTENIDO DEL TEMA

TEMA 1. Recursividad. Recursividad CONTENIDO DEL TEMA TEMA 1 Recursividad Recursividad T E M A 1 CONTENIDO DEL TEMA 1.- Introducción. 2.- Verificación de funciones y procedimientos recursivos 3.- Escritura de programas recursivos 4.- Ejemplos. 5.- Recursión

Más detalles

Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas

Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas Tema 9 Algoritmos sobre listas Programación 2015-2016 Programación - Tema 9: Algoritmos sobre listas 1 Tema 9. Algoritmos sobre listas Algoritmos sobre Arrays. Búsqueda. Inserción. Ordenación. Programación

Más detalles

Tema 1. ORDENACIÓN, BÚSQUEDA E INTERCALACIÓN INTERNA (Algoritmos)

Tema 1. ORDENACIÓN, BÚSQUEDA E INTERCALACIÓN INTERNA (Algoritmos) Tema 1. ORDENACIÓN, BÚSQUEDA E INTERCALACIÓN INTERNA (Algoritmos) 1. Declaraciones previas Para los algoritmos que aparecen a continuación se supone que se han realizado las siguientes declaraciones globales:

Más detalles

Algoritmos sobre Listas

Algoritmos sobre Listas TEMA 6 Algoritmos sobre Listas V1.1 Manuel Pereira González Agenda Introducción Algoritmos de Búsqueda Búsqueda Secuencial Búsqueda Binaria Análisis de Eficiencia Algoritmos de Inserción Algoritmos de

Más detalles

Métodos de ordenamiento:

Métodos de ordenamiento: Métodos de ordenamiento: 0) Intercambio: a) Idea: El algoritmo de intercambio aunque es el más sencillo de implementar es uno de los más ineficientes en rendimiento. Se basa en la idea de buscar cada vez

Más detalles

Este método se basa en buscar el elemento menor el vector y colocarlo en la primera

Este método se basa en buscar el elemento menor el vector y colocarlo en la primera Lectura ORDENACIÓN DE ARREGLOS Con frecuencia se requiere clasificar u ordenar los elementos de un vector (arreglo unidimensional) en algún orden en particular. Por ejemplo, ordenar un conjunto de números

Más detalles

Ordenamiento y Búsqueda

Ordenamiento y Búsqueda Ordenamiento y Búsqueda Facultad de Ciencias de la Computación Juan Carlos Conde R. Object-Oriented Programming I Contenido 1 Introducción 2 Intercambio directo 3 Inserción directa 4 Selección directa

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López Francisco J. Hernández López fcoj23@cimat.mx Acomodar algo en alguna secuencia especifica Objetos ordenados: Directorio telefónicos Registro de pacientes Libros en una biblioteca Cosas del hogar Se puede

Más detalles

Métodos de ordenamiento:

Métodos de ordenamiento: Métodos de ordenamiento: 0) Intercambio: a) Idea: El algoritmo de intercambio aunque es el más sencillo de implementar es uno de los más ineficientes en rendimiento. Se basa en la idea de buscar cada vez

Más detalles

Tema 6. Ordenación, búsqueda e intercalación interna

Tema 6. Ordenación, búsqueda e intercalación interna Fundamentos de Programación I Tema 6. Ordenación, búsqueda e intercalación interna Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de

Más detalles

Unidad 4. Arreglos y Cadenas

Unidad 4. Arreglos y Cadenas Unidad 4. Arreglos y Cadenas Definición de Arreglo: Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un identificador común (nombre). La propiedad indexado significa

Más detalles

Listas Posicionales. Listas posicionales

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

7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico.

7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico. 86 Capítulo 7. ORDENAMIENTO. 7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico. Si los elementos a ordenar son compuestos

Más detalles

Métodos de Ordenamiento. Unidad VI: Estructura de datos

Métodos de Ordenamiento. Unidad VI: Estructura de datos Métodos de Ordenamiento Unidad VI: Estructura de datos Concepto de ordenación La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden

Más detalles

PROGRAMACIÓN ESTRUCTURADA

PROGRAMACIÓN ESTRUCTURADA Universidad Nacional de Jujuy PROGRAMACIÓN ESTRUCTURADA Trabajo Práctico Nº 11 Tema: Operaciones sobre Arreglos. Ordenación. Apellido y Nombre: Fecha: / / Conceptos Teóricos ORDENACIÓN DE ARREGLOS Los

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos

Más detalles

Tema 4. Estructuras de control

Tema 4. Estructuras de control Tema 4. Estructuras de control Contenido del tema: Expresiones booleanas. Sentencias de selección. Sentencias de iteración. Aplicaciones Estructuras de control en C++ Francisco J. Veredas Dpto. Lenguajes

Más detalles

Algoritmos de Ordenación

Algoritmos de Ordenación Algoritmos de Ordenación Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Algoritmos comunes - Ordenación Ordenación o clasificación es

Más detalles

Tema 1. Ordenación, búsqueda e intercalación interna

Tema 1. Ordenación, búsqueda e intercalación interna Fundamentos de Programación II Tema 1. Ordenación, búsqueda e intercalación interna Luis Rodríguez Baena (luis.rodriguez@upsam.es) Universidad Pontificia de Salamanca Escuela Superior de Ingeniería y Arquitectura

Más detalles

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS Capítulo 3 Estructuras de datos estáticas 1/37 1. INTRODUCCIÓN Las estructuras de datos se utilizan, generalmente, para procesar una colección de valores que están

Más detalles

Tema 2.- Ordenación (Parte I)

Tema 2.- Ordenación (Parte I) En la elaboración de estos apuntes han participado los siguientes alumnos: Helena Hernández Obregón (Curso 200/2002), Eduardo Quevedo, Raquel González y Aarón Asencio (Curso 2003/200). Actualizado por

Más detalles

1. Introducción: Recordatorio Conjunto de elementos del mismo tipo conceptualmente t relacionados. Los elementos están indexados: Se accede a ellos at

1. Introducción: Recordatorio Conjunto de elementos del mismo tipo conceptualmente t relacionados. Los elementos están indexados: Se accede a ellos at 4. Operaciones sobre vectores 1. Introducción 2. Búsqueda 3. Actualización de vectores ordenados y no ordenados 1. Inserción 2. Modificación 3. Borrado 4. Métodos de Ordenación 1. Cuadráticos 2. Logarítmicos

Más detalles

ESTRUCTURA DE DATOS: Tema 5. Ordenamiento y Búsqueda

ESTRUCTURA DE DATOS: Tema 5. Ordenamiento y Búsqueda ESTRUCTURA DE DATOS: Tema 5. Ordenamiento y Búsqueda Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Ordenamiento

Más detalles

Tema 2. Tipos y Estructuras Básicas

Tema 2. Tipos y Estructuras Básicas Tema 2. Tipos y Estructuras Básicas 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

Más detalles

Objetivos. Conocer y saber utilizar diferentes tipos de datos. estructurados: cómo se definen. cómo están organizadas sus componentes

Objetivos. Conocer y saber utilizar diferentes tipos de datos. estructurados: cómo se definen. cómo están organizadas sus componentes Objetivos Conocer y saber utilizar diferentes tipos de datos estructurados: cómo se definen cómo están organizadas sus componentes cómo se accede a ellas y sus operaciones y algoritmos básicos Tema: Estructuras

Más detalles

Unidad 5. Arreglos: Vectores y Matrices. Prof. Eliana Guzmán U.

Unidad 5. Arreglos: Vectores y Matrices. Prof. Eliana Guzmán U. Unidad 5. Arreglos: Vectores y Matrices Prof. Eliana Guzmán U. Semestre A-2012 Estructuras de datos Los arreglos son un tipo de estructura de datos. Una estructura de datos es una colección de datos que

Más detalles

INDICE. Prólogo de la Segunda Edición

INDICE. Prólogo de la Segunda Edición INDICE Prólogo de la Segunda Edición XIII Capitulo 1. Algoritmos y Programas 1 1.1. Los sistemas de procesamiento de la información 2 1.2. Concepto de algoritmo 4 1.2.1. Características de los algoritmos

Más detalles

Unidad 5: Estructuras Estáticas I: Tablas 1 Unidad 5 ESTRUCTURAS ESTÁTICAS I: Tablas Desarrollo de la unidad : 36 h

Unidad 5: Estructuras Estáticas I: Tablas 1 Unidad 5 ESTRUCTURAS ESTÁTICAS I: Tablas Desarrollo de la unidad : 36 h Unidad 5: Estructuras Estáticas I: Tablas 1 Unidad 5 ESTRUCTURAS ESTÁTICAS I: Tablas Desarrollo de la unidad : 36 h Prácticas: Ejercicios: Conceptos: Tablas unidimensionales, vectores, cadenas, modificación,

Más detalles

23. Ordenación de vectores (tablas) Diego Gutiérrez

23. Ordenación de vectores (tablas) Diego Gutiérrez 23. Ordenación de vectores (tablas) 1 O cómo evitar tener que buscar una aguja en un pajar Ordenación 3 Ordenación O cómo evitar tener que buscar una aguja en un pajar Cómo buscamos una palabra en un diccionario?

Más detalles

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Departamento de Informática Universidad de Valladolid Curso 2011-12 Grado en Ingeniería Informática Grado en Ingeniería Informática de

Más detalles

Tema 3. Análisis de costes

Tema 3. Análisis de costes Tema 3. Análisis de costes 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

Más detalles

1. Introducción al análisis de algoritmos

1. Introducción al análisis de algoritmos 1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Brassard y Bratley, 97; capítulos

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Prof. Dr. P. Javier Herrera Contenido 1 Conceptos básicos de grafos y su especificación algebraica 2 Algoritmos de ordenación 3 Algoritmos de búsqueda 2 1. Grafos Estructuras

Más detalles

Indexación con lista enlazada

Indexación con lista enlazada Indexación con lista enlazada Estructura de datos Roberto Maestre Martínez Diseño y arquitectura del sistema La nomenclatura utilizada es la siguiente. cvar Indica nombre de clase Var ovar Indica un objeto

Más detalles

Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE

Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE Unidad 3: Eficiencia de Algoritmos Tema V: Búsqueda. Búsqueda. Búsqueda Lineal. Búsqueda binaria. Búsqueda Máximos y Mínimos. Análisis de los algoritmos de búsqueda. Programación I (Plan 1999) Algoritmos

Más detalles

Arreglos Estructura (struct)

Arreglos Estructura (struct) Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Arreglos Estructura (struct) MSc Jaime Soto Una estructura de datos es una colección de datos que pueden ser caracterizados por su organización

Más detalles

Soluciones propuestas

Soluciones propuestas Cuadernillo de examen ASIGNATURA: Fundamentos de Programación I CÓDIGO: 106 CONVOCATORIA: Febrero 2009 PLAN DE ESTUDIOS: 2000/2002 CURSO: 1º CURSO ACADÉMICO: 2008/2009 TURNO: Mañana TITULACIÓN: Ingeniería

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

Bloque 1. Conceptos y técnicas básicas en programación

Bloque 1. Conceptos y técnicas básicas en programación Bloque 1. Conceptos y técnicas básicas en programación 1. Introducción 2. Datos y expresiones. Especificación de algoritmos 3. Estructuras algorítmicas básicas 4. Iteración y recursión 5. Iteración y recursión

Más detalles

SEGUNDA PARTE: TIPOS COMPLEJOS

SEGUNDA PARTE: TIPOS COMPLEJOS SEGUNDA PARTE: TIPOS COMPLEJOS Introducción En la primera parte del tema se vieron los tipos simples de datos que es capaz de almacenar el ordenador: booleanos, caracteres, enteros y reales. Sin embargo,

Más detalles

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz TEMA 4. Montículos binarios (heaps)

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz TEMA 4. Montículos binarios (heaps) TEMA 4. Montículos binarios (heaps) Veamos otro tipo especial de árbol binario, los llamados heaps (montículos), que se pueden representar eficazmente con un vector. Definición: un montículo de máximos

Más detalles

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

ALGORITMOS Y PROGRAMACIÓN I Unidad 3 ALGORITMOS Y PROGRAMACIÓN I Unidad 3 Tipos de Datos Estructurados Prof. Jaime Soto Sección (007) Material original de Prof. AURELY LEAL Introducción a las Estructuras de Datos Una estructura de datos es

Más detalles

Curso de Programación 1

Curso de Programación 1 Curso de Programación 1 Plan 97 Búsqueda y Ordenación Métodos de búsqueda Existen aplicaciones en las cuales es necesario consultar si un elemento se encuentra dentro de un array. A continuación veremos

Más detalles

Estructura de Datos Árboles Árboles 2-3

Estructura de Datos Árboles Árboles 2-3 Estructura de Datos Árboles 1-2-3 Árboles 2-3 Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 Arboles 1-2-3 Árbol n-ario ordenado de orden 3 Cada nodo tiene 1 ó 2 elementos 75 Nodo

Más detalles

GUIA DOCENTE INFORMÁTICA. Facultat de Matemàtiques. Curso Departament d Informàtica (ETSE)

GUIA DOCENTE INFORMÁTICA. Facultat de Matemàtiques. Curso Departament d Informàtica (ETSE) GUIA DOCENTE de INFORMÁTICA Curso 2009-10 Departament d Informàtica (ETSE) Facultat de Matemàtiques 1 GUÍA DOCENTE DE ASIGNATURA INTRODUCCIÓN Informática es la única asignatura relativa a la materia del

Más detalles

Métodos de ordenamiento y búsqueda para datos en memoria principal

Métodos de ordenamiento y búsqueda para datos en memoria principal Métodos de ordenamiento y búsqueda para datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Ordenamiento

Más detalles

Lenguaje de Diseño: Estructuración de Datos

Lenguaje de Diseño: Estructuración de Datos Teoría Nº 6 Lenguaje de Diseño: Estructuración de Datos Primer Cuatrimestre Un palíndromo es una palabra, o frase que se lee igual hacia adelante que hacia atrás. Si se trata de un número, se llama capicúa.

Más detalles

3.2. Matrices Introducción Qué ocurre cuando el tipo base de un array es otro array? Mat =vector[ vector[1....4] de (vector[1..5] de enteros);

3.2. Matrices Introducción Qué ocurre cuando el tipo base de un array es otro array? Mat =vector[ vector[1....4] de (vector[1..5] de enteros); Bloque 3. Tema 3. Operaciones avanzadas con Vectores 1. Búsqueda en vectores ordenados: búsqueda binaria 2. Matrices 1. Introducción 2. Sintaxis 3. Ejemplos 3. Operaciones con matrices 1. Recorrido de

Más detalles

Métodos de ordenamiento y búsqueda para datos en memoria principal

Métodos de ordenamiento y búsqueda para datos en memoria principal Ordenamiento Métodos de ordenamiento y búsqueda para datos en memoria principal Dada una colección que contiene un número elementos, el ordenamiento es el proceso de reacomodar un conjunto de elementos

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

Lenguaje de Diseño: Estructuración de Datos

Lenguaje de Diseño: Estructuración de Datos Teoría Nº 6 Lenguaje de Diseño: Estructuración de Datos Segundo Cuatrimestre Un palíndromo es una palabra, o frase que se lee igual hacia adelante que hacia atrás. Si se trata de un número, se llama capicúa.

Más detalles

Lenguaje de Diseño: Estructuración de Datos

Lenguaje de Diseño: Estructuración de Datos Teoría Nº 8 Lenguaje de Diseño: Estructuración de Datos Resolución de Problemas y Algoritmos Primer Cuatrimestre ENUNCIADO: DADO UN NÚMERO ENTERO POSITIVO, ENCONTRAR EL ALGORITMO QUE DETERMINE EL FACTORIAL

Más detalles

Soluciones a los ejercicios planteados en el curso

Soluciones a los ejercicios planteados en el curso Soluciones a los ejercicios planteados en el curso Unidad 3 - Algoritmos recursivos Lección 2 Mecanismo de recursividad Escribe un algoritmo recursivo que calcule el elemento de cardinal más elevado de

Más detalles

Porque usar Arreglos?

Porque usar Arreglos? Arreglos Porque usar Arreglos? Se tienen las calificaciones de 100 alumnos, como sacar cuantos alumnos tienen una calificación superior al promedio? Doble lectura: Un ciclo para leer y acumular las calificaciones,

Más detalles

Hashing (Funciones de Dispersión)

Hashing (Funciones de Dispersión) Hashing características Hashing (Funciones de Dispersión) Mauricio Solar Lorna Figueroa No necesita almacenamiento adicional (índice). Facilita la inserción y eliminación rápida de registros. Encuentra

Más detalles

Análisis de algoritmos

Análisis de algoritmos (Algoritmos de Ordenamiento) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Contenido Definición del problema Actividades Observaciones

Más detalles

Algorítmica y Complejidad. Tema 3 Ordenación.

Algorítmica y Complejidad. Tema 3 Ordenación. Algorítmica y Complejidad Tema . Introducción.. Algoritmo de inserción.. Algoritmo de selección.. Algoritmo de la burbuja.. Algoritmo heapsort.. Algoritmo quicksort. 7. Algoritmo countingsort.. Algoritmo

Más detalles

1. 1. Introducción al concepto de algoritmia

1. 1. Introducción al concepto de algoritmia 1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Básica: Aho, Hopcroft y Ullman,

Más detalles

TEMA 7. ALGORITMOS DE BÚSQUEDA, ORDENACIÓN

TEMA 7. ALGORITMOS DE BÚSQUEDA, ORDENACIÓN M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 7. ALGORITMOS DE BÚSQUEDA, ORDENACIÓN Y MEZCLA Grado en Ingeniería en Tecnologías Industriales Programación

Más detalles

Tema 5. Tipos de datos definidos por el usuario

Tema 5. Tipos de datos definidos por el usuario Tema 5. Tipos de datos definidos por el usuario Contenido del tema: Enumerados Arrays Cadenas de caracteres Registros Arrays, cadenas de caracteres y registros en C++ Francisco Rus Mansilla Dpto. Lenguajes

Más detalles

Algoritmos y Estructuras de Datos Curso 04/05. Ejercicios

Algoritmos y Estructuras de Datos Curso 04/05. Ejercicios 35. Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas

Más detalles

Fundamentos de programación JAVA

Fundamentos de programación JAVA Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:

Más detalles

Necesidad de las memorias secundarias.

Necesidad de las memorias secundarias. Contenido del Tema 4.1. Introducción. 4.2. Conceptos básicos. 4.3. Operaciones sobre ficheros. 4.4. Tipos de ficheros. 4.5. Organización de ficheros. 4.6. Primitivas de acceso. 4.7. Ordenación externa.

Más detalles

Solución propuesta. Cuadernillo de examen. Preguntas teóricas

Solución propuesta. Cuadernillo de examen. Preguntas teóricas Cuadernillo de examen Asignatura: Fundamentos de Programación I Código: 106 Titulación: Ingeniería Informática / Ingeniería Técnica en Informática Plan de estudios: 2000/2002 Curso: 1º Carácter: Obligatoria

Más detalles

Estructuras de Control Contenido del Tema

Estructuras de Control Contenido del Tema Estructuras de Control Contenido del Tema T E M A 4 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1. Sentencia de selección simple. 4.3.2. Sentencia de selección binaria.

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles

EI MT1008 Programación II

EI MT1008 Programación II GRADO EN INGENIERÍA INFORMÁTICA GRADO EN MATEMÁTICA COMPUTACIONAL EI1008 - MT1008 Programación II Curso 2010-2011 Departamento de Lenguajes y Sistemas Informáticos 1. Datos de la asignatura Carácter: Formación

Más detalles

Algoritmos de ordenación básicos

Algoritmos de ordenación básicos Algoritmos de ordenación básicos por Iván Cruz Cuando tratamos de resolver algunos problemas haciendo uso de la programación estructurada, en ocasiones es necesario poder ordenar un conjunto de datos.

Más detalles

Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica

Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Estructura de Datos II Docente:

Más detalles

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Avance rápido

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Avance rápido Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Avance rápido Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas

Más detalles

Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos

Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos Estructura de Datos y Algoritmos Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos 1. Algorimos de ordenación Discutiremos el problema de ordenar un array de elementos. A los efectos de simplificar

Más detalles

3.Conocimientos previos requeridos 7.Estimación de la dedicación del alumno. 4.Contenidos mínimos. 1.Introducción. 2.Objetivos generales

3.Conocimientos previos requeridos 7.Estimación de la dedicación del alumno. 4.Contenidos mínimos. 1.Introducción. 2.Objetivos generales Proyecto Docente Curso 05/06 1 de 9 1.Introducción. 2.Objetivos generales 5.Competencias. 6.Calendario de actividades. 9. Evaluación 10. Bibliografía del aprendizaje. 3.Conocimientos previos requeridos

Más detalles

Universidad Autónoma del Estado de México Licenciatura en Informática Administrativa Programa de Estudios: Estructura de Datos

Universidad Autónoma del Estado de México Licenciatura en Informática Administrativa Programa de Estudios: Estructura de Datos Universidad Autónoma del Estado de México Licenciatura en Informática Administrativa 2003 Programa de Estudios: Estructura de Datos I. Datos de identificación Licenciatura Informática Administrativa 2003

Más detalles

Fundamentos de programación C++

Fundamentos de programación C++ Pág. N. 1 Fundamentos de programación C++ Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-235-6 N. de páginas: 280 Edición: 2. a 2014 Medida:

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática

Algoritmos y Estructuras de Datos Ingeniería en Informática 2.1.Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas

Más detalles

Algorítmica y Lenguajes de Programación. Búsqueda

Algorítmica y Lenguajes de Programación. Búsqueda Algorítmica y Lenguajes de Programación Búsqueda Búsqueda. Introducción Hace dos lecciones se dijo que había tres tratamientos básicos sobre vectores: Recorrido. Ordenación. Búsqueda. Durante las últimas

Más detalles

Experiencia en gestión de proyectos, bases de datos, licenciatura en informática o afines

Experiencia en gestión de proyectos, bases de datos, licenciatura en informática o afines 1. DATOS GENERALES DEL CURSO Nombre del curso Estructuración de Datos Programa al que pertenece Créditos Horas teoría 35 Horas práctica 70 Eje de formación Perfil deseable del profesor LICENCIATURA EN

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

En las preguntas 1-30 indique la respuesta correcta. e= ninguna de las anteriores

En las preguntas 1-30 indique la respuesta correcta. e= ninguna de las anteriores Estructuras de Información... 1 En las preguntas 1-30 indique la respuesta correcta. e= ninguna de las anteriores 1. Cuál de las siguientes afirmaciones es falsa: a. Un nodo es un objeto, un link es un

Más detalles

Estructuras de Datos Dinámicas Contenido del Tema

Estructuras de Datos Dinámicas Contenido del Tema T E M A 2 Estructuras de Datos Dinámicas Contenido del Tema 2.1. Introducción a las estructuras de datos dinámicas. 2.2. Tipo Puntero 2.3. Aplicación: Listas enlazadas. Introducción a las Estructuras de

Más detalles

Prefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27

Prefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27 ÍNDICE Prefacio 25 Organización de la Unidad Didáctica.................... 25 Cómo utilizar el libro............................. 26 Objetivos docentes.............................. 27 1 Fundamentos de

Más detalles

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

CAPITULO II ORDENAMIENTO Y BUSQUEDA. Ivan Medrano Valencia

CAPITULO II ORDENAMIENTO Y BUSQUEDA. Ivan Medrano Valencia CAPITULO II ORDENAMIENTO Y BUSQUEDA Ivan Medrano Valencia ORDENACIÓN La ordenación o clasificación de datos (sort en inglés) es una operación consistente en disponer un conjunto estructura de datos en

Más detalles

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: DISEÑO DE ALGORITMOS FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS: AS ( ) AC (

Más detalles

Tema 9. Recursividad

Tema 9. Recursividad Tema 9. Recursividad 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

Gloria Guadalupe González Flores, José Hernández Torruco Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

Gloria Guadalupe González Flores, José Hernández Torruco Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Estructuras de datos y organización de archivos Programa Educativo: Licenciatura en Sistemas Computacionales Área de Formación : Sustantiva profesional Horas teóricas: 2 Horas prácticas:

Más detalles

Tema: Métodos de Ordenamiento. Parte 1.

Tema: Métodos de Ordenamiento. Parte 1. Programación IV. Guía No. 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Métodos de Ordenamiento. Parte 1. Objetivos Específicos Identificar la estructura de algunos algoritmos

Más detalles

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación PROGRAMACIÓN II

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación PROGRAMACIÓN II Universidad Tecnológica Nacional Facultad Regional San Francisco Tecnicatura Superior en Programación PLANIFICACIÓN CICLO LECTIVO 2014 ÍNDICE ÍNDICE... 2 PROFESIONAL DOCENTE A CARGO... 3 UBICACIÓN... 4

Más detalles

Soluciones propuestas

Soluciones propuestas Cuadernillo de examen ASIGNATURA Fundamentos de Programación II CÓDIGO 113 CONVOCATORIA Ordinario de Junio 2003 PLAN DE ESTUDIOS 2000/2002 ESPECIALIDAD Común CURSO 1º TURNO Mañana CURSO ACADÉMICO 2002-2003

Más detalles

Introducción a los computadores 1º. Ingeniería Técnica de Telecomunicación Convocatoria ordinaria (1ª. parte) 16 FEBRERO 2004

Introducción a los computadores 1º. Ingeniería Técnica de Telecomunicación Convocatoria ordinaria (1ª. parte) 16 FEBRERO 2004 Universidad de Málaga Introducción a los computadores 1º. Ingeniería Técnica de Telecomunicación Convocatoria ordinaria (1ª. parte) 16 FEBRERO 2004 Nombre: Especialidad (SE/SI/ST): Pregunta 1. Grupo (A/B

Más detalles

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas INDICE Prologo a la tercera edición xiii Prologo a la segunda edición xxvii Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación 3 1.1. Organización de

Más detalles

6. El TDA Lista Implementación con listas enlazadas. es de tipo genérico T. Pueden existir elementos repetidos (a diferencia de los conjuntos).

6. El TDA Lista Implementación con listas enlazadas. es de tipo genérico T. Pueden existir elementos repetidos (a diferencia de los conjuntos). 6. El TDA Lista 6.1. Definición 6.2. Operaciones del TDA 6.3. Implementación con vectores 6.4. Implementación con listas enlazadas 6.5. Comparativa Bibliografía: -Weiss - Aho, Hopcroft y Ullman 6.1. Definición

Más detalles