prof. mireya morales. introducción a las estructuras de datos definición de arreglos ...

19
Prof. Mireya Morales

Upload: lucia-lozano-cuenca

Post on 03-Feb-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Prof. Mireya Morales

Page 2: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Introducción a las estructuras de datos

Definición de arreglosOperaciones con arreglosEjemplosOrdenamiento de arreglosArreglos multidimensionales o matrices

Cadenas de Caracteres

Page 3: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Datos Simples

Datos Estructurados

Estándar

Definidos porEl programador

Estáticos

Dinámicos

Entero, realCarácterlógico

SubrangoEnumerado

Arreglo (vector/Matriz)archivos

ListaÁrbol

Page 4: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

• Un arreglo o vector se define como un conjunto finito y ordenado de elementos de un mismo tipo.

A [1] A [I] A [N]

A

1 2 3 . . . I . . . N

Page 5: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Un vector de una dimensión denominado Notas, contiene N elementos.

El índice de un elemento [1,2…n] designa la posición en el orden del vector y cada elemento es referenciado por medio de este.

El valor mínimo de un vector se denomina limite inferior y el valor máximo permitido es el limite superior.

Los índices pueden ser expresiones, constantes o variables.

Page 6: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Asignación Lectura/escritura Acceso secuencial Añadir, borrar o insertar un elemento Ordenamientos Búsqueda

Page 7: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

int A[10] = {0} int B[5] = {5} int C[5] = {1, 2, 15, 30, 25} int D[5] = {1,2,3,4,5,6} Error al compilar

int E[] = {2,4,6,8,10}

Page 8: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Enteros[1]=Enteros[2] + Enteros[3]

Enteros[2]= (Enteros[2]<3)?Enteros[2]:3

Enteros[5*j+1]= 1Enteros[Enteros[1]+Enteros[2]]=4Enteros[(i<4)]=i

Page 9: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

14.014.0 12.012.0 8.08.0 7.07.0 6.416.41 5.235.23 6.156.15 7.257.25

Escribir X[1] Visualiza el valor de X[1] esto es 14.0X[4] 45 Almacena el valor 45 en X[4]SUMA X[1] + X[3] Asigna el valor 22.0 en SUMASUMA SUMA + X[4] Agrega al valor de SUMA 67.0X[6] X[1] + X[2] El nuevo elemento de X[6] es 26.0

Page 10: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Algoritmo Asignar_elemento_vectorVar i, vector[5]:enteroinicio

para(i=0; i<4; i++) Leer vector[i]

fin_paraFin

Page 11: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Los elementos almacenados en un arreglo no siempre están ordenados.

Para realizar manipulación de los datos es conveniente ordenarlos ascendente o descendentemente, según convenga.

Existen varios métodos de ordenamiento, en este caso se estudiará el de la burbuja.

Page 12: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

La técnica consiste en pasar varias veces por el arreglo.

Los valores más pequeños “burbujean” gradualmente hacia la parte alta del arreglo y los más grandes se van hacia el fondo del arreglo.

Con cada paso se comparan pares sucesivos de elementos, si uno de los pares está en orden ascendente o son iguales se queda como tal, si están descendente se intercambian los valores en el arreglo.

Page 13: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Algoritmo orden_arregloConstante tam_arrg=10Var i, aux, num_pasos, a[tam_arrg]:EnteroIniciopara

(num_pasos=0;num_pasos<tam_arrg;num_pasos++)

para(i=0;i<tam_arrg-1; i++) si a[i] > a[i+1] aux=a[i]; a[i]=a[i+1]; a[i+1]=aux; fin_si fin_para

Page 14: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

En muchas ocasiones se hace necesario ubicar un valor clave en grandes cantidades de datos, por ello es importante conocer al menos una técnica de búsqueda en un arreglo. En este caso se estudiará la denominada lineal.

La búsqueda lineal consiste en comparar todos los elementos del arreglo con la clave de búsqueda.

Debido a que el arreglo no está en ningún orden existe la misma posibilidad de que el elemento este al principio al final del arreglo.

Page 15: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

A[0][0]A[0][0] A[0][1]A[0][1] A[0][2]A[0][2] A[0][3]A[0][3]

A[1][0]A[1][0] A[1][1]A[1][1] A[1][2]A[1][2] A[1][3]A[1][3]

A[2][0]A[2][0] A[2][1]A[2][1] A[2][2]A[2][2] A[2][3]A[2][3]

Subindice de ColumnaSubindice de FilaNombre de la matriz

Page 16: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Algoritmo suma_elemento_matrizVar fila, col, total, matriz[3][4]: enteroIniciopara(fila=0; fila<3; fila++) para(col=0; col<4; col ++) Escribir(“Introduzca el elemento de la

matriz”,matriz[fila][col]);total=0;para(fila=0; fila<3; fila++) para(col=0; col<4; col ++) total=total + matriz[fila][col]Fin

Page 17: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Un caracter es un tipo de dato simple que representa un número, una letra o cualquier caracter especial disponible en el teclado. Cuando se asigna una caracter a una variable tipo char, este siempre se debe escribir entre apóstrofos ‘’.

Page 18: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Una cadena de caracteres es un tipo de datos estructurado compuesto por caracteres.

En el lenguaje C, una cadena de caracteres se define como un arreglo de caracteres que termina con el carácter nulo ‘\0’

Page 19: Prof. Mireya Morales.  Introducción a las estructuras de datos  Definición de arreglos  Operaciones con arreglos  Ejemplos  Ordenamiento de arreglos

Una cadena de caracteres se puede definir como:◦ Un arreglo char cadena[ ]= “Hola”

En esta expresión se reserva espacio para almacenar los siguientes caracteres:

‘H’ ‘o’ ‘l’ ‘a’ ‘\0’