Post on 22-Jul-2015
ESTRUCTURAS Y ORGANIZACIÓN DE DATOS
INSTITUTO TECNOLÓGICO DE SALINA CRUZ
CONCEPTOS
●Conjunto de datos de tipos iguales o diferentes
que se relacionan entre si y que se pueden operar
como un todo.
Entero, Real, Carácter, Lógico
Datos Simples
Hacen referencia a un único valor a la vez en memoria
Datos Estructurados
Se refieren a un grupo de casillas de memoria
Estáticos
Dinámicos
Arreglos, Registros, Archivos,
Cadenas
Listas, Arboles, Grafos
●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.
Estática
Durante la ejecución del
programa el tamaño de
la estructura no cambia
Dinámica
Durante la ejecución del
programa el tamaño de la
estructura puede cambiar
MEMORIA ESTÁTICA
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
i0 i1 in
C
1
C
2
...
.
C
n
Componentes
Índices
●Componentes: Hacen referencia a los elementos que
forman el arreglo.
●Índices: Permiten referirse a los componentes del arreglo
en forma individual.
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
x1x9
1
4
4
3
...
.
4
x0
Componentes
Índices
●X hace referencia a todo el vector, mientras
que x0, o x1 hace referencia los elementos en
forma individual
ESTRUCTURAS DE DATOS
TEMA: MEMORIA ESTÁTICA
SUBTEMA: ARREGLOS UNIDIMENSIONALES
●Los arreglos se almacenan en forma adyacente, así que
su representación en memoria es:X0 ,Dirección z; X1 ,Dirección z+1; Xn ,Dirección z+n
●Cada elemento del arreglo se puede procesar como si
fuera una variable simple.Ej:Suma Suma + x[2]
X[2] 15
i 3
X[i] 15
X[i+2] 15 ●Sobre los vectores se pueden realizar las siguientes
operaciones: Lectura/Escritura, Asignación,
Actualización(ins, eli, Mod), Ordenamiento y Búsqueda.
ARREGLOS BIDIMENSIONALES
●Estos arreglos constan de dos índices, tambien se
llaman matrices.
●Notación: Podría ser de diferentes maneras. Por ej:
Array [0...2, 0...2] de enteros: Matriz
Matriz: M
3
4
4
3
9
0
0 1 2
Component
es
Indice
s8
32 4
15
6
7
5
3
0
1
2
●Operaciones: Lectura,
Escritura, Asignación.
REGISTROS(ESTRUCTURAS)
●Un registro es una colección de datos, que pueden ser de
diferentes tipos. Cada uno de sus elementos se llama Campo.
●Notación: Podría ser de diferentes maneras. Por ej:
Tipo registro: Domicilio
Entero: Calle
Entero: Numero
Cadena: Ciudad
Fin Tipo
Domicilio: dir
●El acceso a los campos se hace así:
variable_registro.id_campo.
●Por Ej: dir.Calle, dir.Numero, dir.Ciudad.
Numer
o
CiudadCall
e
Domicili
o
ARREGLOS Y REGISTROS
●Se pueden presentar las siguientes
combinaciones:
1.Arreglos de Registros: Cada elemento del
registro es un arreglo.
Tipo registro: Cliente
Cadena: Nombre
Cadena: Teléfono
Real: Saldo
Fin Tipo
Array [0...2] de Cliente:
Vector
Vecto
rN T S N T S N T S
0 1 2
Notación:
Vector[0].Nombre
ARREGLOS Y REGISTROS
1.Registro Anidado: Por lo menos un campo
del registro es de tipo registro.
Tipo registro: Domicilio
Entero: Calle
Entero: Numero
Cadena: Ciudad
Fin Tipo
Tipo registro: Cliente
Cadena: Nombre
Domicilio: Dirección
Real: Saldo
Fin Tipo
Client
eDirecció
nCll Nu
m
Ci
u
Nombre Saldo
Notación:
Cliente.Nombre
Cliente.Dirección.Call
e
ARREGLOS Y REGISTROS
1.Registro con Arreglos: Por lo menos un
campo del registro es un array.
Array [0...2] de Real:Vector
Tipo registro: Estudiante
Cadena: Nombre
Cadena: Código
Vector: Notas
Fin Tipo
Estudian
te Nota
sNombre Código
Notación:
Estudiante.Nombre
Estudiante. Notas[0]