Estructuras basicas

Post on 22-Jul-2015

44 views 0 download

Transcript of Estructuras basicas

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]