clase 10: estructuras de datos y arreglos. materia: estructuras de datos profesor: willman marchan

14
Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan.

Upload: sabas-cayo

Post on 23-Jan-2016

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

Clase 10: Estructuras de datos y arreglos.

Materia: Estructuras de datos Profesor: Willman Marchan.

Page 2: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

Objetivos de la clase:

Al final de la clase los alumnos y alumnas serán capaces de:

Asimilar los conceptos generales de estructuras de datos y arreglos.Resolver problemas usando arreglos en una dimensión (vectores).

Page 3: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Introducción:Todas las variables que se han considerado hasta ahora son de tipo simple. Una variable de tipo simple consiste de una sola caja de memoria y sólo puede contener un valor cada vez.Una variable de tipo estructurado consiste en toda una colección de casillas de memoria.Los tipos de datos estudiados: entero, real, alfabético son considerados como datos de tipo simple, puesto que una variable que se define con alguno de estos tipos sólo puede almacenar un valor a la vez, es decir, existe una relación de uno a uno entre la variable y el número de elementos (valores) que es capaz de almacenar. En cambio un dato de tipo estructurado, como el arreglo, puede almacenar más de un elemento (valor) a la vez, con la condición de que todos los elementos deben ser del mismo tipo, es decir, que se puede tener un conjunto de datos enteros, reales, etc.

Page 4: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

Estructuras de datos:Estructura de Datos es una colección de datos que se caracterizan por su organización y las operaciones que se definen en ella.Los datos de tipo estándar pueden ser organizados en diferentes estructuras de datos: estáticas y dinámicas.Estructura de Datos estáticas:Son aquellas en las que el espacio ocupado en memoria se define en tiempo de compilación y no puede ser modificado durante la ejecución del programa.Corresponden a este tipo los arrays y registrosEstructuras de Datos Dinámicas:Son aquellas en las que el espacio ocupado en memoria puede ser modificado en tiempo de ejecución. Corresponden a este tipo las listas, árboles y grafos . Estas estructuras no son soportadas en todos los lenguajes.La elección de la estructura de datos idónea dependerá de la naturaleza del problema a resolver y, en menor medida, del lenguaje. Las estructuras de datos tienen en común que un identificador, nombre, puede representar a múltiples datos individuales.

Page 5: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

Arreglos o Arrays:Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos.Finita:Todo arreglo tiene un límite; es decir,debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo.Homogénea: Todos los elementos del arreglo deben ser del mismo tipo.Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elmento.Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Así se tienen los:

Unidimensionales (vectores)Bidimensionales (tablas o matrices)Multidimensionales (tres o más dimensiones)

Page 6: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Tipos de arreglos:

Page 7: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

Arreglos unidimensionales:Están formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre, y se diferencian por la posición que tiene cada elemento dentro del arreglo de datos.dentro del arreglo, los programas especifican el nombre de éste y el número del elemento, colocándolo dentro de corchetes, como en calificación[3].Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos.Para declarar un arreglo tiene que indicar su tipo, un nombre único y la cantidad de elementos que va a contener. Por ejemplo, las siguientes instrucciones declaran tres arreglos distintos:

Float costo_partes[50];Int edad_empleados[100];Float precios_acciones[25];

Page 8: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Ejemplo de arreglo unidimensional:

Para acceder a valores específicos del arreglo, use un valor de índice que apunte al elemento deseado. Por ejemplo, para acceder al primer elemento del arreglo calificaciones debe utilizar el valor de índice 0 (calificaciones[0]). Los programas en C++ siempre indizan el primer elemento de un arreglo con 0 y el último con un valor menor en una unidad al tamaño del arreglo.

Page 9: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Inicialización y asignación de valores:Como se decía anteriormente, antes de utilizar un arreglo es necesario inicializarlo:Para inicializar todos los elementos de una vez, se colocan dentro de una estructura for que va del primer elemento al último que contiene el arreglo.Para asignar un valor a un elemento del arreglo se hace por ejemplo: Calificaciones[0] 100;Cuando se usan arreglos, una operación común es usar una variable índice para acceder a los elementos de un arreglo. Suponiendo que la variable índice I contiene el valor 3, la siguiente instrucción asigna el valor 400 a valores[3]: valores[I] 400;Partes de un arreglo:Los componentes. Hacen referencia a los elementos que forman el arreglo, es decir, a los valores que se almacenan en cada una de las casillas del mismo.Los índices. Permiten hacer referencia a los componentes del arreglo en forma individual, especifican cuántos elementos tendrá el arreglo y además, de qué modo podrán accesarse esos componentes.

Page 10: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Operaciones con vectores:

Las operaciones que se pueden realizar con vectores durante el proceso de resolución de un problema son:Lectura/ escrituraAsignaciónActualización ( inserción, eliminación, modificación)Recorrido (acceso secuencial)OrdenaciónBúsqueda

Page 11: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Lectura y escritura de vectores:LecturaEl proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus elementos. Normalmente se realizan con estructuras repetitivas, aunque pueden usarse estructuras selectivas.Usamos los índices para recorrer los elementos del arreglo:

desde i = 1 hasta 70 hacer leer ( arre[i]) fin_desde

Escritura:Es similar al caso de lectura, sólo que en vez de leer el componente del arreglo, lo escribimos.

leer (N) desde i = 1 hasta N hacer escribir (arre[i]) fin_desde

Page 12: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Asignación e Inicialización de vectores:Asignación:No es posible asignar directamente un valor a todo el arreglo; sino que se debe asignar el valor deseado en cada componente. Con una estructura repetitiva se puede asignar un valor a todos los elementos del vector.Por ejemplo: arre[1] 120 (asignación de un valor constante único a una casilla del vector) arre[3] arre[1] / 4 (asignar una operación)Se puede asignar un valor constante a todos los elementos del vector: desde i = 1 hasta 5 hacer arre[i] 3 fin_desdeO bien arre 3 (con arre del tipo arreglo)InicializaciónPara inicializar con cero todos los elementos del arreglo: desde i = 1 hasta 70 hacer arre[i] 0 fin_desde

Page 13: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Acceso secuencial y Actualización de vectores:

Acceso Secuencial. (Recorrido)El acceso a los elementos de un vector puede ser para leer en él o para escribir (visualizar su contenido).Recorrido del vector es la acción de efectuar una acción general sobre todos los elementos de ese vector.Actualización.Incluye añadir (insertar), borrar o modificar algunos de los ya existentes. Se debe tener en cuenta si el arreglo está o no ordenado.Añadir datos a un vector consiste en agregar un nuevo elemento al final del vector, siempre que haya espacio en memoria.

Page 14: Clase 10: Estructuras de datos y arreglos. Materia: Estructuras de datos Profesor: Willman Marchan

www.salomonaquino.com ©

Fin de la clase.

Gracias por asistir.