Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos I
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.
2.
Array
Registros
Ficheros o archivos
Pila
Colas
Listas enlazadas
Dinmicas
Lineales
rboles
No
lineales
Grafos
Estructuras de Datos
Algoritmos I
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.
Un array se identifica : por su nombre y se asocia con un nombre de
variable valido.
Estructuras de Datos
Algoritmos I
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.)
Ordenado: Se puede determinar cual es el primer elemento, el segundo,
el tercero y as sucesivamente hasta el ensimo elemento. Tambin el
orden es significativo, el orden viene dado por el subndice de un vector.
Los ndices son nmeros enteros o expresiones enteras que
generalmente inician con 1 pero, dependiendo del lenguaje pueden
iniciar con 0 u otro valor.
EJEMPLO:
ELEMENTOS
Vector
sueldo:
$150
$500
$600
$1000
Primer
Segundo
Tercer
Cuarta
Elemento Elemento Elemento Elemento
Sueldo(10)
........................................
$2000
Dcimo
elemento
PRESENTACIN:
Estructuras de Datos
Algoritmos I
Sueldo(1)
$150
Sueldo(2)
$500
Sueldo(3)
$1000
........
$1500
........
Sueldo(4)
Sueldo(10)
$2000
ELEMENTOS
la siguiente manera.
ELEMENTOS
4
12
14
K(1)
K(2)
K(3)
K(4)
K(5)
K(6)
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
Estructuras de Datos
Algoritmos I
Sueldo(2)
Sueldo(3)
Sueldo(4)
Sueldo(10)
$150.50
$520.7
$600
$1000
$2000
10
ndices
Diferentes operaciones con el vector sueldo considerando el
subndice de I = 2
Operaciones sobre
elementos
Asignacin
Lectura
Escritura
INSTRUCCIN (ACCIN)
Imprimir sueldo( I )
Ing. Ruth Figueroa de Flores
EFECTO
Visualiza 520.7
(valor de sueldo( 2 ))
5
Estructuras de Datos
Algoritmos I
Imprimir sueldo(I + 1)
Visualiza 600
Imprimir sueldo( I 1 ) + 50
Visualiza 200.50
Visualiza 620.7
Sueldo(I 1 ) = Sueldo(I )
Sueldo( I ) = Sueldo(I + 1 )
I=1
Mientras I <= 10 hacer
Leer Sueldo( I )
I=I+1
Fin-mientras
I=1
Mientras I <= 10 hacer
Imprimir Sueldo( I )
I=I+1
Fin-mientras
Lectura /Escritura.
Estructuras de Datos
2.
Asignacin.
3.
Actualizacin:
Algoritmos I
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 )
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
Ing. Ruth Figueroa de Flores
Estructuras de Datos
Algoritmos I
PSEUDOCDIGOS
Desde I = 1 hasta N hacer I = 1
Escribir ARRE ( I )
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
Fin_desde
ACTUALIZACIN
Pueden insertarse nuevos elementos, eliminar y/o modificar
algunos de los ya existentes. Para llevar acabo estas operaciones
Estructuras de Datos
Algoritmos I
...
N+1
100
a.1. INSERCIN:
//
Y : ENTERO
//
A : ENTERO
//
Arreglo unidimensional. Su
mxima es de 100 elementos.
capacidad
PSEUDOCDIGO:
Insertar_Desordenado
Var
Entero: N, Y
Ing. Ruth Figueroa de Flores
Estructuras de Datos
Algoritmos I
Fin
A
...
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.
EXPLICACIN DE LAS VARIABLES:
: ENTERO
X
A
: ENTERO
: ENTERO
//
//
: ENTERO
//
: ENTERO
//
BAND : BOOLEANA //
arreglo.
Representa el valor que se va a eliminar.
Arreglo unidimensional. Su capacidad mxima es
de 100 elementos.
Se utiliza como variable de control del ciclo
externo y como ndice del arreglo.
Se utiliza como variable de control del ciclo interno
y como ndice del arreglo A.
Se inicializa en falso. Cambia su valor a
verdadero si se encuentra el elemento a eliminar
en el arreglo, en cuyo caso se interrumpe el ciclo.
PSEUDOCDIGO:
Eliminar_Desordenado
Var
Entero: N, X, I, K,
Ing. Ruth Figueroa de Flores
10
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
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
...
...
N-1
N+1
100
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
Ing. Ruth Figueroa de Flores
11
Estructuras de Datos
Algoritmos I
: ENTERO
: ENTERO
: ENTERO
// Arreglo unidimensional. Su
mxima es de 100 elementos.
: ENTERO
: ENTERO
capacidad
: ENTERO
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
...
...
...
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
Ing. Ruth Figueroa de Flores
13
Estructuras de Datos
Algoritmos I
A
...
...
N+1
100
b.1. INSERCIN:
14
Estructuras de Datos
Algoritmos I
es recomendable tener un
: ENTERO
: ENTERO
: ENTERO
// Arreglo unidimensional. Su
mxima es de 100 elementos.
: ENTERO
POS : ENTERO
capacidad
PSEUDOCDIGO:
Insertar_Ordenado
Var
Entero: N, X, I, POS
Ing. Ruth Figueroa de Flores
15
Estructuras de Datos
Algoritmos I
Fin
A
...
Ing. Ruth Figueroa de Flores
...
...
16
Estructuras de Datos
Algoritmos I
N+1
100
: ENTERO
: ENTERO
: ENTERO
: ENTERO
POS : ENTERO
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
// INICIO DEL MDULO BUSCAR
Leer X
I=1
Mientras ( I <= N ) and ( A(I) < X ) hacer
I=I+1
Finmientras
Si ( I > N ) OR ( A(I) > X ) entonces
POS = -1
Sino
POS = 1
Finsi
// FIN DEL MDULO BUSCAR
// 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
A
...
Ing. Ruth Figueroa de Flores
...
18
Estructuras de Datos
Algoritmos I
N-1
100
: ENTERO
: ENTERO
: ENTERO
: ENTERO
POS
: ENTERO
: ENTERO
PSEUDOCDIGO:
Modificar_Ordebado
Var
Entero: N, X, I, POS, Y
Ing. Ruth Figueroa de Flores
19
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
// 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
20