Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras de Datos
Estructuras de Datos
Estructura de
Unidad
1
datos
Introduccion a
la estructura
de datos
INDICE
Introduccin a las estructuras de datos
Introduccin:..
Tipos de datos abstractos (TDA)
Modularidad.
Uso de TDA..
Manejo de memoria esttica
Manejo de memoria dinmica..
Abstraccin de datos es una tcnica que permite inventar nuevos tipos de datos
que sean ms adecuados a una aplicacin y, por consiguiente, facilitar la escritura
del programa
Tipo Abstracto de Dato (TDA)
Es un tipo de dato definido por el usuario a travs de una especificacin y una
implementacin de los objetos abstractos. (Rowe , types ACM sigplan, Vol 16-1,
1980).
Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo
matemtico compuesto por una coleccin de operacionesdefinidas sobre un
conjunto de datos para el modelo. Annimo
Un TDA es un tipo de dato definido por el usuario para representar una entidad
(abstraccin) a travs de sus caractersticas (datos o atributos) y sus operaciones
o funciones (algoritmos que manipulan los datos). Hilda Contreras
Un TDA est caracterizado por un conjunto de operaciones (mtodos) al cual le
denominamos usualmente como su interfaz pblica y representan el
comportamiento del TDA; mientras que la implementacin como la parte privada
del TDA est oculta al programa cliente que lo usa. Todos los lenguajes de alto
nivel tienen predefinidos TDA.
Con mucha frecuencia se utilizan los trminos TDA y Abstraccin de Datos de
manera equivalente, y esto es debido a la similitud e interdependencia de ambos.
Sin embargo, es importante definir por separado los dos conceptos.
La abstraccin de datos consiste en ocultar las caractersticas de un objeto y
obviarlas, de manera que solamente utilizamos el nombre del objeto en nuestro
programa. Esto es similar a una situacin de la vida cotidiana. Cuando se dice la
palabra perro, usted no necesita que se le diga lo que hace el perro. Usted ya
sabe la forma que tiene un perro y tambin sabe que los perros ladran. De manera
que se abstraen todas las caractersticas de los perros en un solo trmino, perro.
A esto se le llama Abstraccin y es un concepto muy til en la programacin, ya
que un usuario no necesita mencionar todas las caractersticas y funciones de un
objeto cada vez que ste se utiliza, sino que son declaradas por separado en el
programa y simplemente se utiliza el trmino abstracto (perro) para mencionarlo.
MODULARIDAD
La modularidad es la posibilidad de dividir una aplicacin en piezas ms
pequeas llamadas mdulos.
Por qu Modulamos las aplicaciones?
comunicados entre s
Cmo se debe modular una aplicacin?
Un mdulo debe estar listo para su uso pero a su vez debe poder mejorarse
USO DE (TDA)
Elaborar un ejercicio que permita realizar operaciones sobre conjuntos a travs de
los TDA BitSet y StringTokenizer.
Las operaciones que permitir realizar son:
a) Unin
b) Interseccin
c) Diferencia
Clase BitSet
Java proporciona otra alternativa para manipular los bits y esta es mediante la
clase BitSet(Conjunto de bits) que crea un tipo especial de arreglo que contiene
valores de bits. Este puede aumentar de tamao segn se necesite. Esto lo hace
similar a la clase vector. Los constructores definidos para esta clase son:
BitSet( )
BitSet(int tamao)
La primera opcin crea un objeto por defecto y la segunda opcin permite
especificar su tamao inicial (Esta es la cantidad de bits que puede contener).
Todos los bits se inicializan en cero.
Los mtodos definidos para la clase BitSet son;
Mtodo
Descripcin
Object clone( )
int hashCode( )
int length( )
int size( )
String toString( )
Ejercicio 2.
Realizar un programa que permita encontrar los nmeros primos de 0 hasta n
aplicando el mtodo de la criba de Eratstenes; implementarlo haciendo uso de la
clase BitSet.
Manejo de Memoria
La administracin de memoria de una computadora es una tarea fundamental
debido a que la cantidad de memoria es limitada.
El sistema operativo es el encargado de administrar la memoria del sistema y
compartirla entre distintos usuarios y/o aplicaciones.
El RTS (Run Time System) de un lenguaje de programacin administra la
memoria para cada programa en ejecucin.
La ejecucin de un programa requiere que diversos elementos se almacenen
en la memoria:
Cdigo del programa (instrucciones)
Datos
Permanentes
Temporales
Direcciones para controlar de flujo de ejecucin del programa
Memoria esttica y dinmica
A la asignacin de memoria para algunos elementos fijos del programa que
es controlada por el compilador se le llama asignacin de memoria esttica.
A la asignacin y posible recuperacin de memoria durante la ejecucin de un
programa y bajo su control, se le llama asignacin de memoria dinmica.
byte
char
short
int
float
long
double
arregl
o
10
20
30
40
50
ndice
direcc
in
13
00
13
04
13
08
13
12
13
16
Arreglos Bidimensionales.
Un arreglo bidimensional (matriz o tabla), es un conjunto de elementos
homogneos definidos bajo una estructura finita, controlado por dos ndices y su
representacin es por un conjunto de renglones y columnas, en forma de una
malla.
Para determinar la direccin fsica de un elemento de un arreglo bidimensional en
la memoria se puede seguir una de las siguientes formulas:
Por renglones.
Direccin de memoria = Direccin inicial en la
memoria + (Numero de columnas del arreglo *
Posicin del arreglo en rengln o ndice de
arreglo
direcci
n
40
50
60
270
0
270
4
270
8
70
80
90
271
2
271
6
272
0
70
80
90
272
4
272
8
273
2
Ejemplo. Tomamos como base el ejemplo anterior, pero ahora con columnas
quedara de la siguiente manera:
arreglo
direcci
n
40
50
60
270
0
271
2
272
4
70
80
90
270
4
271
6
272
8
70
80
90
270
8
272
0
273
2
Lectura / Escritura.
Asignacin.
Actualizacin:
Insercin.
Eliminacin.
Modificacin.
Ordenamiento.
Bsqueda.
Dir
Dir
Dato
Dir
Las estructuras de datos que usan nodos pueden ser lineales o no lineales, dentro
de las lineales se encuentran las listas simples y dobles y en las no lineales
encontramos los rboles, estas estructuras se representan de la siguiente forma.
Lista simple.
------>
Dato
Dir
----->
Dato
Dir
Dato
Dir
Lista doble
--->
Dir
Dato
Dir
---->
Dir
Dato
Dir
Dir
Dato
Dir
Dir
Dato
Dir
<--<-----
rbol
Dir
Dir
Dato
Dato
Dir
Dir
Mtodo
Descripcin
Final
addElement(Object
elemento)
Int capacity( )
Object clone( )
Bolean
elemento)
Enumeration elements( )
Void
ensureCapacity(int Establece la mnima capacidad del vector en
tamano)
tamao.
Object firstElement( )
Int
elemento)
devuelve 1.
Int
indexOf(Object Devuelve el ndice de la primera aparicin de
elemento, int inicio)
elemento en o despus de inicio. Si el vector no
est en esa parte del vector, se devuelve 1.
Bolean isEmpty( )
Object lastElement( )
Int
lastIndexOf(Object Devuelve el ndice de la ltima aparicin de
elemento)
elemento, si el elemento no est en el vector, se
devuelve 1.
Int
lastIndexOf(Object Devuelve el ndice de la ltima aparicin antes de
elemento,int inicio)
inicio. Si el objeto no est en esa parte del vector,
se devuelve 1.
Void removeAllElements( )
Bolean
removeElement(Object
elemento)
Int size( )
String toString( )
Void trimToSize( )