Professional Documents
Culture Documents
DEFINICIN:
Los datos estructurados llamados tambin estructuras de datos
es una coleccin o conjunto de datos simples que tiene el mismo
nombre.
El valor de la estructura de datos se determina por:
1. El valor de los elementos.
2. La composicin de los elementos
Vectores
Matrices
Estticas Array
Registros
Ficheros o archivos
Pila
Colas
Listas enlazadas
Lineales
Dinmicas
rboles
No Grafos
lineales
DEFINICIN:
Son aquellos en los que el tamao ocupado en la memoria se define antes
de que el programa se ejecute y no puede modificarse dicho tamao
durante la ejecucin del programa. Ejemplo de ello son los array
(Arreglos).
ARRAYS (ARREGLOS):
Un array (arreglo, vector o lista, tabla o matriz ) es una estructura de
datos utilizada para almacenar un conjunto de datos.
DEFINICIN:
Se define como un conjunto finito, homogneo y ordenado de datos.
Finito: Todo vector tiene un lmite; es decir debe determinarse cual ser
el nmero mximo de elementos que podrn formar parte del vector.
Homogneo: Esto significa que todos los elementos del vector sern del
mismo tipo (todos enteros, todos reales, todos boolanos etc.)
EJEMPLO: ELEMENTOS
Vector sueldo:
Sueldo(1) $150
Sueldo(2) $500
Sueldo(3) $1000
ELEMENTOS
ELEMENTOS
Sueldo(4) $1500
4 12 3 0 7 14
........
Sueldo(10) $2000
COLUMNA FILA
DECLARACIN DE VECTORES:
As. Para declarar el vector sueldo de 10 elementos se hara de la
siguiente manera.
DIM Sueldo(10) : Real
Palabra reservada
Para declara un vector
Nombre del vector
Tamao
Tipo de datos
ndices
2. Asignacin.
3. Actualizacin:
a) Insercin.
b) Eliminacin.
c) Modificacin.
4. Ordenacin.
5. Bsqueda.
LECTURA:
El proceso de lectura de un arreglo consiste en leer y asignar
un valor a cada uno de sus elementos. Supngase que se
desea leer todos los elementos del arreglo ARRE.
PSEUDOCDIGOS
Desde I = 1 hasta N hacer I = 1
Leer ARRE ( I ) Repetir I desde 1 hasta N hacer
Fin_desde Leer ARRE ( I )
I = I +1
Fin_desde
ESCRITURA:
El caso de la escritura es similar al de la lectura. Se debe escribir
el valor de cada uno de los componentes. Supngase que se
PSEUDOCDIGOS
Desde I = 1 hasta N hacer I = 1
Escribir ARRE ( I ) Repetir I desde 1 hasta N hacer
Fin_desde Escribir ARRE ( I )
I = I +1
Fin_desde
ASIGNACIN:
En general no es posible asignar directamente un valor a todo el
arreglo; sino que se debe asignar el valor deseado a cada
componentes.
PSEUDOCDIGOS
Desde I = 1 hasta N hacer I = 1
ARRE ( I ) = 0 Repetir I desde 1 hasta N hacer
Fin_desde ARRE ( I ) = 0
I = I +1
Fin_desde
ACTUALIZACIN
Pueden insertarse nuevos elementos, eliminar y/o modificar
algunos de los ya existentes. Para llevar acabo estas operaciones
a. ARREGLOS DESORDENADOS.
Consideramos un arreglo A de 100 elementos como el
presentado.
A
... ...
1 2 3 N N+1 100
a.1. INSERCIN:
PSEUDOCDIGO:
Insertar_Desordenado
Var
Entero: N, Y
Ing. Ruth Figueroa de Flores 9
Estructuras de Datos Algoritmos I
1 2 3 N N+1 100
a.2. ELIMINACIN:
Para eliminar un elemento X de un arreglo A desordenado debe
verificarse que el arreglo no est vaco y que X se encuentre en el
arreglo. Si se cumple estas condiciones entonces se proceder a
recorrer todo los elementos.
Booleana : BAND
Dim A(100) : Entero
Inicio
Si N >= 1 entonces
Leer X
I=1
BAND = FALSO
Mientras ( I <= N ) and ( BAND = FALSO ) hacer
Si A(I) = X entonces
BAND = VERDADERO
N=N1
Desde K = I hasta N hacer
A(K) = A(K+1)
Findesde
Sino
I=I+1
Finsi
Finmientras
Si BAND = FALSO entonces
Imprimir El elemento, X, no est en el arreglo
Finsi
Sino
Imprimir El arreglo A est vaco
Finsi
Fin
A
... ...
a.3. MODIFICACIN:
Para modificar un elemento X por un elemento Y, de un arreglo A
que se encuentra desordenado debe verificarse que el arreglo no
PSEUDOCDIGO:
Modificar_Desordenado
Var
Entero: N, X, I, K, Y
Ing. Ruth Figueroa de Flores 12
Estructuras de Datos Algoritmos I
Booleana : BAND
Dim A(100) : Entero
Inicio
Si N >= 1 entonces
Leer X
I=1
BAND = FALSO
Mientras ( I <= N ) and ( BAND = FALSO ) hacer
Si A(I) = X entonces
Leer Y
A(I) = Y
BAND = VERDADERO
Sino
I=I+1
Finsi
Finmientras
Si BAND = FALSO entonces
Imprimir El elemento, X, no est en el arreglo
Finsi
Sino
Imprimir El arreglo A est vaco
Finsi
Fin
A
... Y ... ...
1 2 3 I N N+1 100
b. ARREGLOS ORDENADOS.
Considerando el arreglo ordenado A de 100 elementos, de la figura
siguiente. Los primeros N componentes del mismo tienen asignado un
A
... ...
1 2 3 N N+1 100
b.1. INSERCIN:
Para insertar un elemento X en un arreglo A que se encuentra
ordenado, debe verificar que existe espacio.
Luego tendr que encontrarse la posicin en la que debera estar
el nuevo valor para no alterar el orden del arreglo.
Una vez detectada la posicin, se proceder a recorrer todos los
elementos desde la misma hasta la N-sima posicin, un lugar a
la derecha.
Finalmente se asignar el valor X en la posicin encontrada. (Los
pasos del recorrido no se llevan a cabo cuando el valor a insertar
es mayor que el ltimo elemento del arreglo.)
PSEUDOCDIGO:
Insertar_Ordenado
Var
Entero: N, X, I, POS
1 2 3 I N N+1 100
b.2. ELIMINACIN:
Para eliminar un elemento X en un arreglo ordenado A debe
verificarse que el arreglo no est vaco. Si se cumple esta
condicin, entonces tendr que buscarse la posicin del
elemento a eliminar.
Si el resultado del mdulo BUSCAR es un valor positivo, quiere
decir que el elemento se encuentra en el arreglo y por lo tanto
puede ser eliminado.
En otro caso no se puede ejecutar la operacin.
PSEUDOCDIGO:
Eliminar_Ordenado
Var
Ing. Ruth Figueroa de Flores 17
Estructuras de Datos Algoritmos I
Entero: N, X, I, POS
Dim A(100) : Entero
Inicio
Si N > 0 entonces
Sino
Imprimir El arreglo esta vaco
Finsi
Fin
A
... ...
1 2 3 N-1 N 100
b.3. MODIFICACIN:
Se procede de manera similar a la eliminacin de un elemento en
un arreglo ordenado. La variante se presenta en que al modificar el
valor X por un valor Y, debe verificarse que el orden, entonces
debera reordenarse al arreglo, o bien eliminar primero el elemento
a modificar e insertar posteriormente el elemento nuevo.
PSEUDOCDIGO:
Modificar_Ordebado
Var
Entero: N, X, I, POS, Y
Booleana : BAND
Dim A(100) : Entero
Inicio
Si N >= 1 entonces
Leer X
I=1
BAND = FALSO
Mientras ( I <= N ) and ( BAND = FALSO ) hacer
Si A(I) = X entonces
Leer Y
A(I) = Y
BAND = VERDADERO
Sino
I=I+1
Finsi
Finmientras
Si BAND = FALSO entonces
Imprimir El elemento, X, no est en el arreglo
Finsi
// INICIO DEL MDULO ELIMINAR
Si POS < 0 entonces
Imprimir El elemento no existe
Sino
N=N-1
I = POS
Repetir I desde POS hasta N hacer
A(I) = A(I + 1)
I=I+1
Finrepetir
Finsi
// FIN DEL MDULO INSERTAR
Sino
Imprimir El arreglo esta vaco
Finsi
Fin