Download Estructura de datos (ARRAYS)

Document related concepts

Vector (informática) wikipedia , lookup

Array dinámico wikipedia , lookup

Lista enlazada wikipedia , lookup

Heapsort wikipedia , lookup

Tabla hash wikipedia , lookup

Transcript
Estructura de datos (ARRAYS). Cadenas de caracteres.
Un array es una secuencia de posiciones de la memoria central a las que se puede acceder
directamente, que contiene datos del mismo tipo y pueden ser seleccionados individualmente mediante
el uso de subíndices.
Una estructura de datos es una colección de datos que pueden caracterizarse por su organización y
las operaciones que se definen en ella.
Hemos visto hasta ahora datos de tipo simples como ser: numérico, carácter y lógico. Aunque el dato de
tipo cadena lo tomamos como un dato simple en nuestro curso, es preciso aclarar que se trata de un tipo
de dato estructurado compuesto por una “cadena” de caracteres o string. Ahora abordaremos los array
(vectores/matrices). Los array son datos estructurados simples o estáticos, se definen como estáticos
debido a que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede
modificarse dicho tamaño durante la ejecución del programa.
ARRAY UNIDIMENSIONAL
Un array unidimensional o vector es un conjunto finito y ordenado de elementos homogéneos.
Lo declaramos así:
var identificador : vector [rango] tipo_de_dato
Operaciones con vectores
Dado el vector X[n] , podemos referirnos a los diferentes elementos del mismo de la siguiente forma:
X[1], X[2], … , X[n]. Donde n es el rango o cantidad de elementos de nuestro vector.
Las operaciones que podemos realizar son:
-
asignación
lectura, escritura
recorrido (acceso secuencial)
actualizar (añadir, borrar, insertar)
ordenación
búsqueda
Asignación
Para valores individuales:
X [n] = Valor_tipo_dato
O asignación mediante estructuras tipo bucle, ejemplo: desde
Lectura, escritura
leer (X)
imprimir(X)
Para leer un elemento individual: leer(X[n])
Acceso secuencial
A la operación de efectuar una acción general sobre todos los elementos de un vector se la denomina
recorrido del vector. Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de
control se utilizan como subíndices del vector. Así el elemento contador del bucle producirá un
tratamiento sucesivo de los elementos del vector.
Ejercicio: Crear, y leer 10 valor enteros de un vector tensión V, luego imprimir (escribir) en pantalla los
valores ingresados.
Actualización
La actualización de un vector consiste en operaciones para añadir, insertar y borrar elementos del
mismo. Esto puede realizarse en base a las operaciones de lectura y asignación.
Ejercicio: Dado un vector A [9] = { Alfa Romeo, Fiat, Ford, Lancia, Renault, Seat } insertar los
elementos: A[2]=Citroen y A[6]=Opel.
Ordenación
La ordenación o clasificación es el proceso de organizar datos en algún orden o secuencia específica tal
como creciente o decreciente para datos numéricos o alfabéticamente para caracteres. Los métodos de
ordenación se dividen en dos categorías:
-
Ordenación de vectores, array
Ordenación de archivos
Nosotros abordaremos en este curso el primer método. Si bien abordaremos la clasificación aplicada a
vectores, los mismos métodos se pueden extender a matrices o tablas.
Los métodos directos son los que se realizan en el espacio ocupado por el array , los más populares
son:
1. Intercambio o de burbuja: se basa en comparar pares de datos adyacentes e intercambiarlos
entre sí hasta que estén todos ordenados.
2. Ordenación por inserción: el método consiste en insertar un elemento en ele vector en una
parte ya ordenada de este vector y comenzar de nuevo con los elementos restantes, se
denomina también método baraja.
3. Ordenación por selección: el método consiste en buscar el elemento menor del vector y
colocarlo en primer lugar, luego buscar el segundo elemento más pequeño y se coloca en la
segunda posición, y así sucesivamente.
ARRAY DE DOS DIMENSIONES (MATRICES)
Un array bidimensional se puede considerar como un vector de vectores. Para especificar sus elementos
individuales es necesario especificar dos subíndices.
Lo declaramos así:
var identificador : matriz [i, j] tipo_de_dato
Ejercicios:
1. Realizar un algoritmo que muestre una tabla de 2 columnas con la secuencia de números binarios
desde 0000 hasta el 1111 y su equivalente en decimal. Ejemplo:
0000
1111
0
15
2. Inicializar una matriz M [3,3] con el valor 1.
3. Diseñar un algoritmo que permita leer una tabla de 3x3 con datos numericos e identificar si un
determinado valor (ejemplo 0) se encuentra presente, imprimiendo en pantalla la leyenda: “el valor: X
esta presente”.