Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I - PowerPoint PPT Presentation

About This Presentation
Title:

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I

Description:

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I Ing. V ctor Andr s Ochoa Correa Actualizaci n Incluye a adir (insertar), borrar o ... – PowerPoint PPT presentation

Number of Views:1425
Avg rating:3.0/5.0
Slides: 39
Provided by: Ago52
Category:

less

Transcript and Presenter's Notes

Title: Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I


1
Arreglos Unidimensionales y BidimensionalesESTRU
CTURAS DE DATOS I
  • Ing. Víctor Andrés Ochoa Correa

2
Estructuras de Datos Conceptos
  • Conjunto de datos de tipos iguales o diferentes
    que se relacionan entre si y que se pueden operar
    como un todo.

Datos Simples Hacen referencia a un único valor a
la vez en memoria
Entero, Real, Carácter, Lógico
Arreglos, Registros, Archivos, Cadenas
Estáticos
Datos Estructurados Se refieren a un grupo de
casillas de memoria
Dinámicos
Listas, Arboles, Grafos
3
Qué es una Estructura de Datos?
  • Una estructura de datos es una forma de organizar
    un conjunto de datos elementales con el objetivo
    de facilitar su manipulación. Un dato elemental
    es la mínima información que se tiene en un
    programa.(ejemplos de datos elementales serían
    int, float, char,etc)
  • Lo que se pretende con las estructuras de datos
    es facilitar un esquema lógico para manipular los
    datos en función del problema que haya que tratar
    y el algoritmo para resolverlo.

4
Qué es una Estructura de Datos?
  • En algunos casos la dificultad para resolver un
    problema radica en escoger la estructura de datos
    adecuada. Y, en general, la elección del
    algoritmo y de las estructuras de datos que
    manipulará estarán muy relacionadas.

5
Estructuras de Datos Implementación
  • Para implementar alguna estructura de datos,
    primero es necesario tener muy claro cómo va a
    ser el manejo de memoria.
  • La diferencia entre estructuras estáticas y
    dinámicas es el manejo de memoria.

6
Estructuras de DatosTema Memoria
EstáticaSubtema Conceptos de Arreglos
  • Definición Colección finita, homogenea y
    ordenada de elementos. Finita Porque todo
    arreglo tiene un límite. Homogenea Porque todos
    los elementos son del mismo tipo. Ordenada
    Porque se puede determinar cuál es el enésimo
    elemento.
  • Un arreglo tiene dos partes Componentes e índices

C1
C2
....
Cn
Componentes
i0
i1
in
Índices
  • Componentes Hacen referencia a los elementos que
    forman el arreglo.
  • Índices Permiten referirse a los componentes del
    arreglo en forma individual.

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

8
Arreglos
  • 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.

9
  • FinitaTodo 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.

10
  • 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)

11
Unidimensionales y bidimensionales
12
(No Transcript)
13
Si no existieran los arreglos
  • Suponga que se desea desarrollar un programa
    para
  • Leer una lista de calificaciones de un examen
  • Encontrar su media
  • Escribir una lista de las calificaciones mayores
    que la media
  • Ordenar la lista de las calificaciones en orden
    ascendente.

14
  • Supongamos también que hay 100 calificaciones.
    Debemos utilizar 100 variables diferentes nota1,
    nota2, ...., nota100, de ese modo son 100
    direcciones diferentes de memoria para almacenar
    las calificaciones del examen. Se imagina
    declarar las 100 variables.
  • cuántas instrucciones involucra?

15
  • Para calcular la mediaMedia (nota1nota2......
    .nota100)/100Para la lista de calificaciones
    mayores que la media, deberá también irse
    comparando una por unaSi nota1 gt media
    entoncesescribir (nota1)Fin_siSi nota2 gt media
    entoncesescribir (nota2)Fin_siSi nota100 gt
    media entoncesescribir (nota100)Fin_si

16
Estructuras de DatosTema Memoria
EstáticaSubtema Arreglos Unidimensionales
  • Son los arreglos más simples y constan de un solo
    índice, tambien se llaman vectores.
  • Notación Podría ser de diferentes maneras. Por
    ej
  • Array 0...9 de enteros Vector
  • Vector x

14
43
....
4
Componentes
x0
x1
x9
Índices
  • X hace referencia a todo el vector, mientras que
    x0, o x1 hace referencia los elementos en forma
    individual

17
Estructuras de DatosTema Memoria
EstáticaSubtema Arreglos Unidimensionales
  • Los arreglos se almacenan en forma adyacente, así
    que su representación en memoria es

X0 ,Dirección z X1 ,Dirección z1 Xn ,Dirección
zn
  • Cada elemento del arreglo se puede procesar como
    si fuera una variable simple.Ej

i 3
  • Sobre los vectores se pueden realizar las
    siguientes operaciones Lectura/Escritura,
    Asignación, Actualización(ins, eli, Mod),
    Ordenamiento y Búsqueda.

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

19
  • 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

20
(No Transcript)
21
Partes de un arreglo
  • Los componentes
  • Los índices

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

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

24
(No Transcript)
25
Operaciones con vectores
  • Lectura/ escritura
  • Asignación
  • Actualización (inserción, eliminación,
    modificación)
  • Recorrido (acceso secuencial)
  • Ordenación
  • Búsqueda

26
  • Sea arre un arreglo de 70 elementos enteros con
    índices enteros. Su representación nos queda

27
  • Sea bool un arreglo de 26 elementos booleanos con
    índices de tipo caracter. Su representación nos
    queda

28
Lectura
  • El 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 arreglodesde i 1
    hasta 70 hacerleer ( arrei)fin_desde

29
Escritura
  • Es similar al caso de lectura, sólo que en vez de
    leer el componente del arreglo, lo
    escribimos.             leer (N)             des
    de i 1 hasta N hacer               escribir
    (arrei)             fin_desde

30
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         arre1  120 (asignación de un
    valor constante único a una casilla del
    vector)         arre3 arre1 / 4 (asignar
    una operación)

31
  • Se puede asignar un valor constante a todos los
    elementos del vector
  • desde i 1 hasta 5 hacer          arrei
    3          fin_desde
  • O bien           arre  3 (con arre del tipo
    arreglo)

32
Inicialización
  • Para inicializar con cero todos los elementos del
    arreglo
  •             desde i 1 hasta 70
    hacer                arrei 0
  •              fin_desde

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

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

35
Estructuras de DatosTema Memoria
EstáticaSubtema Arreglos Bidimensionales
  • Estos arreglos constan de dos índices, también se
    llaman matrices.
  • Notación Podría ser de diferentes maneras. Por
    ej
  • Array 0...2, 0...2 de enteros Matriz
  • Matriz M

0
1
2
Indices
34
43
90
0
  • Operaciones Lectura, Escritura, Asignación.

83
2
41
1
56
75
3
2
Componentes
36
Arreglo bidimensional
  • Es un conjunto de datos homogéneo, finito y
    ordenado, donde se hace referencia a cada
    elemento por medio de dos índices.
  • El primero se utiliza para los renglones (filas)
    y el segundo para las columnas.

37
  • También puede definirse como un arreglo de
    arreglos. Internamente en memoria se reservan MxN
    posiciones consecutivas para almacenar todos los
    elementos del arreglo.

38
Declaración de una matriz
Write a Comment
User Comments (0)
About PowerShow.com