Professional Documents
Culture Documents
EL USO DE TIPOS DE
DATOS ABSTRACTOS
CON ARREGLOS
Grupo:15301
ESTRUCTURA DE DATOS
0
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
INTRODUCCION:
Este trabajo está basado en dejar una explicación de lo que son los tipos de datos
abstractos y unos ejemplos que se implementan con arreglos la verdad es que
este tema espero y al leerlo les deje una enseñanza y les sirva de mucho ya que
está muy completo y muy eficaz a mi parecer espero y les sea de su agrado y les
sirva de mucho.
1
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
OBJETIVO:
Mi objetivo es aprender un poco más de este tema de los tipos abstractos ya que
no estaba muy entendible y así mismo ir practicando sobre los temitas que me
hacían falta y dejarles este archivo a personas que como yo necesita un poco de
ayuda para comprender el tema.
2
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
ARREGLOS LINEALES
Un arreglo se usa para agrupar, almacenar y organizar datos de un mismo tipo. En
un arreglo cada valor se almacena en una posición numerada específica dentro
del arreglo. El número correspondiente a cada posición se conoce como índice.
3
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Normalmente el primer objeto del arreglo tiene el índice 0, aunque esto varía de
lenguaje en lenguaje.
Declaración:
Como se sabe, hay 2 tipos de datos en Java: primitivos (como int y double) y
objetos. En muchos lenguajes de programación (aún en Orientados a Objetos
como C++) los arreglos son tipos primitivos, pero en Java son tratados como
objetos. Por consiguiente, se debe utilizar el operador new para crear un arreglo:
4
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Es preciso recordar que en Java, como en C y C++, el primer elemento del arreglo
es el 0. Luego entonces, los índices de un arreglo de 10 elementos van del 0 al 9.
(S/A)
TDA lista
Una lista se define como una serie de N elementos E1, E2, ..., EN, ordenados de
manera consecutiva, es decir, el elemento Ek (que se denomina elemento k-ésimo)
es previo al elemento Ek+1. Si la lista contiene 0 elementos se denomina como lista
vacía.
Una manera simple de implementar una lista es utilizando un arreglo. Sin embargo,
las operaciones de inserción y borrado de elementos en arreglos son ineficientes,
puesto que para insertar un elemento en la parte media del arreglo es necesario
mover todos los elementos que se encuentren delante de él, para hacer espacio, y
5
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
6
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Arreglos Unidimensionales
En este tipo de arreglo se hace uso de un índice solamente para hacer referencia
a una posición particular del arreglo.
1. double [ ] vector;
2. double vector [ ];
Ambas formas anteriores son equivalentes.
3. String [ ] nombres;
4. boolean [ ] valores_booleanos;
5. int[ ] enteros;
1. vector = new double [12]; (Se crea un arreglo de tamaño 12 y cada posición se
inicializa a 0.)
2. double [ ] vector = new double [12]; (Equivalente al ejemplo 1.)
3. String[ ] nombre = new String[100]; (El identificador de la primera posición de
un arreglo unidimensional tiene índice 0.)
4. boolean[ ] valor_booleano = new boolean[4]; (Cada variable booleana se
inicializa con el valor false.)
Copyright © 2008 CARIMOBITS 1
5. int[ ] entero = new int[10]; (Los identificadores de las posiciones son entero[0],
7
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
1. Cuando se crea un arreglo, cada una de sus posiciones será inicializada con el
valor por defecto (default) del tipo de dato u objeto. Por ejemplo, si el arreglo es
de tipo boolean, todas las posiciones del arreglo serán inicializadas con el valor
false (ya que este es valor por defecto del tipo de datos boolean ). Por otro lado,
si el arreglo fuese de un tipo no primitivo o elemental, el valor que contendrá
cada posición será null.
Ejemplos:
(S/A)
8
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Tipo_de_variable[dimensión1][dimensión2]…[dimensiónN];
Tipo_de_variable[ ][ ] … [ ] Nombre_del_array;
Nombre_del_array = new
Tipo_de_variable[dimensión1][dimensión2]…[dimensiónN];
El tipo de variable puede ser cualquiera de los admitidos por Java y que ya ha sido
explicado. Ejemplos de declaración e inicialización con valores por defecto de
arrays, usando los distintos tipos de variables Java, serían:
9
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
O alternativamente
int[][] matriz;
MATRICES
Una matriz es un array bidimensional (2 dimensiones, filas y columnas) Cómo
algunos ejemplos de matrices podríamos tener:
10
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Cada elemento de una matriz tiene una posición dado por la fila y columna, las
mismas que empieza en cero
11
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Entonces podemos ver que cada elemento de una matriz tiene una posición (dado
por la fila y columna)
y un dato
Por ejemplo:
M[0][1] tiene el dato 7
M[3][2] error porque no existe la fila 3
M[2][0] tiene el dato 2
M[2][3] tiene el dato 8
Cada elemento del vector puede ser manejado como cualquier variable. Por
ejemplo:
int A = M[0][1] + M[1][1]; // A = 7 + 6 = 13
int B = 2 + M[1][2]; // B = 2 + 4 = 6
M[0][0] = A + B; // M[0][0] = 13 + 6 = 19
(htt)
EJEMPLO:
TDA pila
Una pila (stack o pushdown en inglés) es una lista de elementos de la cual sólo se
puede extraer el último elemento insertado. La posición en donde se encuentra
dicho elemento se denomina tope de la pila. También se conoce a las pilas
como listas LIFO (LAST IN - FIRST OUT: el último que entra es el primero que sale).
12
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Nota: algunos autores definen desapilar como sacar el elemento del tope de la pila
sin retornarlo.
Para implementar una pila utilizando un arreglo, basta con definir el arreglo del tipo
de dato que se almacenará en la pila. Una variable de instancia indicará la posición
del tope de la pila, lo cual permitirá realizar las operaciones de inserción y borrado,
y también permitirá saber si la pila esta vacía, definiendo que dicha variable vale -
1 cuando no hay elementos en el arreglo.
class PilaArreglo
{
private Object[] arreglo;
private int tope;
private int MAX_ELEM=100; // maximo numero de elementos en la pila
public PilaArreglo()
{
arreglo=new Object[MAX_ELEM];
tope=-1; // inicialmente la pila esta vacía
}
13
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
14
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
En este caso no existe el problema de tener que fijar el tamaño máximo de la pila
(aunque siempre se está acotado por la cantidad de memoria disponible!). La
implementación es bastante simple: los elementos siempre se insertan al principio
de la lista (apilar) y siempre se extrae el primer elemento de la lista (desapilar y
tope), por lo que basta con tener una referencia al principio de la lista enlazada. Si
dicha referencia es null, entonces la pila esta vacía.
class PilaLista
{
private NodoLista lista;
15
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
public PilaLista()
{
lista=null;
}
16
EL USO DE TIPOS DE DATOS ABSTRACTOS CON ARREGLOS
Bibliografía
(s.f.). Obtenido de http://galeon.com/sis334/arreglos.pdf
java.carimobits.com/Documentos%20en%20PDF/Arreglos%20en%20Java%20May
o%2010%202012.pdf
17