IC-t2 ESTRUCTURAS DE DATOS ÍNDICE

Anuncio
IC-t2




ESTRUCTURAS DE DATOS
ÍNDICE
Información estructurada y no estructurada
Tipos básicos
Tipos de datos estructurados
Estructuras estáticas y dinámicas
Ingeniería Informática - 1º - Estructura de Datos y de la Información
1 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Información estructurada y no estructurada
 Estamos acostumbrados a manejar información estructurada, por ejemplo,
nuestro lenguaje. Se compone de letras que se combinan formando sílabas y
éstas formando palabras y éstas oraciones simples o compuestas. De ahí se
puede pasar a párrafos, capítulos y llegar a libros de ensayo o a volúmenes de
una enciclopedia.
 Sin embargo, esas letras pueden dar lugar a combinaciones no estructuradas
dentro de las reglas de nuestro lenguaje. Pero también esas palabras podrían
ordenarse en castellano de una manera estructurada, incluso aunque
semánticamente no tuvieran sentido.
 Oración desestructurada: “cuñalaNtros de medio Los funcionan vÉrdego por cuntrios
sobre”
 Oración estructurada: “Los cuñalantros sobre cuntrios funcionan por medio de
vérdego”.
Ingeniería Informática - 1º - Estructura de Datos y de la Información
2 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Tipos de datos básicos
 Un tipo de dato describe un conjunto de objetos con la misma representación.
 Escalares. Son aquellos en los que el conjunto de datos está ordenado y su valor es
atómico
 Enteros. Conjunto de números enteros definidos por las matemáticas: {-1,-2,...} U
{0,1,2,...}
 Carácter. Conjunto de valores definido en un alfabeto dado
 Booleano. Conjunto de valores definido por dos valores verdadero y falso, {true,
false}.
 Real
 Ordinales. Subconjunto de los escalares. Son aquellos en los que cada valor tiene un
único predecesor y un único sucesor
 Enteros
 Carácter
 Booleano (False, menor que true)
Ingeniería Informática - 1º - Estructura de Datos y de la Información
3 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos
 Modo de agrupación de los datos para que sean procesados (por las computadoras o por
las personas)
 Al definir una operación, o ley de composición interna, en un conjunto de datos lo
convertimos en una estructura, se convierte en algo más complejo que un mero conjunto
de elementos.
Ingeniería Informática - 1º - Estructura de Datos y de la Información
4 de 27
ESTRUCTURAS DE DATOS
IC-t2
 TAD = Tipo de datos + operaciones (II)
 Es un tipo especial de abstracción que involucra una descripción abstracta o
lógica de los datos y de las operaciones definidas para un sistema
 Especificación: sintáctica y semántica
 Implementación: estructura de datos + algoritmos = programas. Se
implementan mediante código
 No existe único TAD ideal capaz de ser el mejor para todos los casos.
Ingeniería Informática - 1º - Estructura de Datos y de la Información
6 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos. Clasificación (I)
 Tipos de datos básicos
 No se suelen incluir en las clasificaciones de TAD, aunque sí se pueden
efectuar operaciones sobre ellos
 Enteros. Conjunto de números enteros definidos por las matemáticas: {-1,-2,...} U
{0,1,2,...}. Las operaciones: suma, resta, multiplicación y división entera.
 Real. Conjunto de números reales definidos por las matemáticas y como
operaciones: suma, resta, multiplicación y división.
 Carácter. Conjunto de valores definido en un alfabeto dado y como operaciones
todos los operadores relacionales: <, >, =, <>...
 Booleano. Conjunto de valores definido por dos valores verdadero y falso, {true,
false}. False, menor que true. Como operaciones, las definidas por el álgebra de
Boole: AND, OR, NOT.
Ingeniería Informática - 1º - Estructura de Datos y de la Información
7 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos. Clasificación (II)
 Estáticas
 Básicas
 Arrays (arreglos) de una o varias dimensiones:
vectores
matrices, bidimensional
cubos, tridimensional
n dimensional
 Compuestas
 Registros
 Ficheros. Colecciones de registros
Ingeniería Informática - 1º - Estructura de Datos y de la Información
8 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos. Clasificación (III)
 Dinámicas
 Punteros
 Lineales
 Listas
Pilas
Colas, bicolas o dipolos
Listas enlazadas, doblemente enlazadas y circulares
 No lineales, complejas
 Árboles
 Grafos, digrafos
 Conjuntos
Ingeniería Informática - 1º - Estructura de Datos y de la Información
9 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas
 Se dice que una estructura de datos es fundamental o estática cuando:
 Todos sus componentes son del mismo tipo
 Una vez definida, no se pueden crear nuevas variables ni alterar las ya
definidas
 No es modificable durante la ejecución del programa
 Sirve de base para estructuras más complejas
 La cantidad de memoria ocupada debe ser declarada por anticipado y no podrá
ser incrementada durante la ejecución del programa en el caso de que se
necesite más.
 Se consideran estructuras estáticas las siguientes:
 “Arrays” o arreglos
 Los registros
 Los ficheros
Ingeniería Informática - 1º - Estructura de Datos y de la Información
10 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Arrays o arreglos.
 Array unidimensional, vector,array lineal o arreglo
 Array bidimensional, array de dos dimensiones, matriz o tabla
 Array tridimensional o cubo
 Array n-dimensional
Ingeniería Informática - 1º - Estructura de Datos y de la Información
11 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. “Arrays”
 Una colección de un número finito de N elementos del mismo tipo
 Características
 N es un número entero positivo
 Se gestionan por índices que son números enteros positivos. V(I)
 Se almacenan en memoria en orden creciente de sus índices en posiciones
consecutivas
 Operaciones
 Búsqueda
 Inserción
 Borrado
 Ordenación
 Recorrido
 Mezcla
Ingeniería Informática - 1º - Estructura de Datos y de la Información
12 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Arrays. Ai (i = 1-N)
A1 (6) A2 (9) A3 (12) A4 (13) ...
An(15)
 Inserción
 Si lo que se desea es insertar un elemento al final del array, es una acción sencilla que se
realiza siempre que haya área reservada en memoria.
 Si lo que se pretende es insertar un elemento en medio de otros dos, para conservar el
orden, se deberá obligar a desplazarse una posición a todos los elementos posteriores al
que se va a insertar, siempre y cuando las dimensiones del vector sean al menos una
unidad mayor que el número de los elementos ocupados.
 Borrado de un elemento del array
 Si se desea borrar un elemento que está en la última posición no habrá ningún problema.
 Si se desea borrar un elemento intermedio, se deberá proceder, después del borrado, a
desplazar los elementos que han quedado para que no haya huecos.
 Ordenación
 Se llama ordenación de un array a las operaciones necesarias para reorganizarlo, en
sentido creciente o en sentido decreciente.
Ingeniería Informática - 1º - Estructura de Datos y de la Información
13 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Arrays. Ejemplo:
 Representar con ordinograma el siguiente supuesto:
 Introducir por teclado un parámetro M y el siguiente array A(I) e imprimir la suma de sus
elementos positivos.
-5
15
23
-51
-7
Ingeniería Informática - 1º - Estructura de Datos y de la Información
4
6
14 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Arrays. Ejemplo:
 Representar con ordinograma el siguiente supuesto:
 Introducir por teclado un parámetro M y un array A(I) e imprimir la suma de sus
elementos positivos.
1
INICIO
A(I) > 0
Leer
Sí
SUMA = SUMA + A(I)
No
A(I)
I = 1,M
I=I+1
No
I=M
Suma = 0
Sí
“La suma de los
elementos de A
es:” SUMA
I= 1
FIN
1
Ingeniería Informática - 1º - Estructura de Datos y de la Información
15 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Arrays. Ejemplo:
 Representar con ordinograma el siguiente supuesto:
 Leer la siguiente cadena de caracteres y obtener el número de veces que aparecen las
letras “a”, “A”, “e”, “E”, “i”, “I” en la misma
 “Se hace una distinción entre técnicas y prácticas en función del propósito al que
respondan, entendiendo por técnica el conjunto de heurísticas y procedimientos que se
apoyan en estándares, utilizan una o varias notaciones específicas en términos de
sintaxis y semántica y cumplen unos criterios de calidad en cuanto a la forma de
obtención del producto asociado. Las prácticas representan un medio para la
consecución de unos objetivos específicos de manera rápida, segura y precisa sin
necesidad de cumplir unos criterios o reglas preestablecidas.”
Ingeniería Informática - 1º - Estructura de Datos y de la Información
16 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Matrices
 También llamadas Arrays de dos dimensiones o tablas
 MA (A= 1, M) * NB (B= 1,N)
 Colección de M*N elementos, donde M representa el número de filas que tiene la matriz y
N el número de columnas y en la que se puede identificar a cada uno de los elementos
por un par de índices (A,B), donde el primero (A) indica la fila y el segundo (B) la
columna. Los índices son números enteros y han de cumplir que 1 <= A <= M y 1<= B
<=N
E1,1
E2,1
E3,1
E1,2
E2,2
E3,2
E1,3
E2,3
E3,3
E1,4
E2,4
E3,4
E1,5
E2,5
E3,5
 Estructuras estáticas con un límite preestablecido antes de la compilación.
 Se gestionan con dos índices de cualquier tipo ordinal
 Sobre este tipo de estructuras se realiza el mismo tipo de operaciones que sobre los
arrays
Ingeniería Informática - 1º - Estructura de Datos y de la Información
17 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Matrices. Algunas aplicaciones
 Tablas de una base de datos relacional: Representación física de un tipo de
entidad.
 Tablas de word (MS Office)
 En Excel, en Access (MS Office)
 En diversidad de técnicas:







Análisis Coste/beneficio. Cálculo del retorno de la inversión y del valor actual de un bien
Matriz Procesos/localización geográfica
Matriz Almacenes de datos/entidades del modelo lógico de datos normalizado
Matriz Entidades/procesos
Matriz Entidades /eventos
Matriz Objetos Diagrama de interacción/clases
... (en la metodologías de desarrollo se referencian más de 10 técnicas matriciales)
 En la Metodología multicriterio discreta: Evaluación de la mejor entre n alternativas
considerando m criterios.
 Diagrama de Gantt
Ingeniería Informática - 1º - Estructura de Datos y de la Información
18 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Matrices.
 Tabla de una base de datos relacional. Tipo de Entidad. Cada fila una tupla u ocurrencia
de entidad. Cada columna un atributo
C la ve
A trib u to 1
A u to r
A trib u to 2
T ítu lo
A trib u to 3
E d ito ria l
A trib u to N
Año
001
J o ya n es y
o tro
E s tru ctu ra
d e d ato s
M c G ra w
H ill
1998
002
H e rn á n de z E s tru ctu ras
y o tro s
d e d ato s
P re n tic e
H a ll
2000
003
D e M ig u e l
y o tro
R A -M A
1999
F u n d am e n.
B .D .
Ingeniería Informática - 1º - Estructura de Datos y de la Información
19 de 27
ESTRUCTURAS DE DATOS
IC-t2
Ingeniería Informática - 1º - Estructura de Datos y de la Información
20 de 27
ESTRUCTURAS DE DATOS
IC-t2
Ingeniería Informática - 1º - Estructura de Datos y de la Información
21 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Matrices. Ejemplo:
 Realizar el ordinograma del siguiente supuesto: Introducir una matriz A (9,8),
calcular e imprimir la suma de sus elementos
1
2
3
4
5
6
7
8
total
1
3
4
5
3
4
2
56
6
83
2
34
5
67
8
54
23
12
4
207
3
9
8
7
56
44
7
3
89
223
4
5
6
7
5
4
3
5
44
79
5
12
23
2
3
4
98
7
6
155
Ingeniería Informática - 1º - Estructura de Datos y de la Información
6
12
13
21
22
45
3
44
4
164
7
56
56
5
4
3
33
45
3
205
8
56
77
8
6
3
3
5
55
213
9
6
6
5
7
8
34
55
6
127
22 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Matrices. Ejemplo:
 Realizar el ordinograma de flujo del siguiente supuesto: Introducir una matriz A
(9,8), calcular e imprimir la suma de sus elementos
1
INICIO
SUMA = SUMA + A(I, J)
Suma = 0
A(I, J)
I = 1,9
J=8
J= 1, 8
Sí
No
I= 1
I=I+1
I=9
No
Sí
J=J+1
“La suma de los
elementos de la
Matriz es:” SUMA
J= 1
1
Ingeniería Informática - 1º - Estructura de Datos y de la Información
FIN
23 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Matrices. Ejemplo:
 Realizar el ordinograma (representación gráfica del algoritmo) del siguiente
supuesto:Generar e imprimir una matriz M (10, 10) cuyo contenido sean las tablas
de multiplicar
1
1
2
3
4
5
6
7
8
9
10
2
2
4
6
8
10
12
14
16
18
20
3
3
6
9
12
15
18
21
24
27
30
4
4
8
12
16
20
24
28
32
36
40
5
5
10
15
20
25
30
35
40
45
50
6
6
12
18
24
30
36
42
48
54
60
Ingeniería Informática - 1º - Estructura de Datos y de la Información
7
7
14
21
28
35
42
49
56
63
70
8
8
16
24
32
40
48
56
64
72
80
9
9
18
27
36
45
54
63
72
81
90
10
10
20
30
40
50
60
70
80
90
100
24 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Registros
 Tipo de datos estructurado estático compuesto por un número fijo de componentes no
necesariamente del mismo tipo, denominados campos del registro y tal que a cada
componente del registro se accede mediante un selector de campo.
 Conjunto de campos relacionados entre sí que tienen una unidad dentro del fichero.
 Son estructuras contempladas en todos los lenguajes de programación de alto nivel, es
decir esos lenguajes disponen de palabras clave (RECORD) para su declaración y
expresiones sintácticas para acceder a sus elementos (READ...).
 Lógico: Unidad de información homogénea. Puede ser de longitud fija o de longitud
variable.
 Varios registros lógicos suelen dar lugar a uno físico (bloque). Frecuente
 Físico: Unidad de lectura/escritura en la computadora
 Varios registros físicos pueden dar lugar a uno lógico (expandido). Excepcional
 Cuando un registro físico y uno lógico coinciden, el factor de bloqueo = 1
Ingeniería Informática - 1º - Estructura de Datos y de la Información
25 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Registros
 La longitud de un registro (no los campos del mismo) puede ser:
 Fija
 Variable
 Indefinida
 Las operaciones que se pueden realizar son:






Consulta
Inserción
Borrado
Modificación
Clasificación
Reorganización
Ingeniería Informática - 1º - Estructura de Datos y de la Información
26 de 27
ESTRUCTURAS DE DATOS
IC-t2
 Estructuras de datos estáticas. Ficheros
 Estructura de datos estática que es el conjunto de varios registros.
 Conjunto de información (registros) homogénea y organizada referida a un
mismo tema.
 Pueden almacenar:
 Programas (fuentes y objetos)
 Datos
 texto
 sonido
 voz
 imagen fija
 video
 ...
 Se estructuran en directorios mediante la descripción de una ruta o “path”
 Los directorios se encuentran dentro de discos físicos o unidades:
 C:/Mis documentos/universidad/cobol/programa1
Ingeniería Informática - 1º - Estructura de Datos y de la Información
27 de 27
Documentos relacionados
Descargar