1. Instituto Tecnológico Superior de Felipe Carrillo Puerto
ING. SISTEMAS COMPUTACIONALES
Docente: Niels Henryk Aranda Cuevas
Alumna: Marleni Tuyub Che
3. TDA
Un algoritmo es una secuencia finita de operaciones, organizadas para realizar una tarea determinada.
Las estructuras de datos son la forma en que se organizan los datos para ser usados.
Puede ser una colección de variables, posiblemente de diferentes tipos de datos, conectadas de un modo
determinado.
Abstracción
La abstracción es un mecanismo fundamental para la comprensión de fenómenos o situaciones que implican
gran cantidad de detalles.
Abstracción es la capacidad de manejar un objeto (tema o idea) como un concepto general, sin considerar la
enorme cantidad de detalles que pueden estar asociados con dicho objeto.
4. Tipos Abstracto de Dato (TDA)
Qué es un TDA?
“Un TDA es un modelo matemático con una colección de operaciones definidas sobre el modelo” (Aho, Hoperoft y Ullman.
“Fundamental Structures of Computer Science”, 1981).
“Una clase de objetos definida por una especificación independiente de la representación“ (Guttag “Abstract Data Type and
development of data structures “ ACM . Vol 20-6, 1977)
“Es un tipo de dato definido por el usuario a través de una especificación y una implementación 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 matemático compuesto por una colección
de operaciones definidas sobre un conjunto de datos
para el modelo”. Anónimo
Un TDA es un tipo de dato definido por el usuario para representar una entidad (abstracción) a través de sus
características (datos o atributos) y sus operaciones o funciones (algoritmos que manipulan los datos). Hilda Contreras
5. Modularidad
La modularidad es la posibilidad de dividir una aplicación en piezas más pequeñas llamadas módulos.
· Descomponer el problema en partes más simples
· Facilitar la comprensión del sistema y de cada una de sus partes.
· Si se produce un error en un módulo, éste sólo afecta a dicho módulo
· Las correcciones debidas a cambios en la especificación afectan a un número reducido de módulos.
· El sistema está compuesto de una serie de módulos independientes comunicados entre sí
6. Uso de TDA
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 tamaño
según se necesite. Esto lo hace similar a la clase vector. Los constructores definidos para esta clase son:
BitSet( )
BitSet(int tamaño)
La primera opción crea un objeto por defecto y la segunda opción permite especificar su tamaño inicial
(Esta es la cantidad de bits que puede contener). Todos los bits se inicializan en cero.
Manejo de Memoria
El sistema operativo es el encargado de administrar la memoria del sistema y compartirla entre distintos
usuarios y/o aplicaciones.
La ejecución de un programa requiere que diversos elementos se almacenen en la memoria:
Código del programa (instrucciones)
Datos
Permanentes
Temporales
Direcciones para controlar de flujo de ejecución del programa
7. Memoria estática y dinámica
A la asignación de memoria para algunos elementos fijos del programa que es controlada por el compilador se le
llama asignación de memoria estática.
A la asignación y posible recuperación de memoria durante la ejecución de un programa y bajo su control, se le
llama asignación de memoria dinámica.
1.4 Manejo de memoria estática
Para implementar alguna estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de
memoria.
La diferencia entre estructuras estáticas y dinámicas esta en el manejo de memoria.
En la memoria estática durante la ejecución del programa el tamaño de la estructura no cambia.
La estructura que maneja memoria estática son los vectores.
Manejo de memoria dinámica
En la memoria dinámica durante la ejecución del programa el tamaño de la estructura puede cambiar.
La memoria dinámica, es el espacio de almacenamiento que solicita una clase o método en tiempo de ejecución.
Dato Dir Nodo con una referencia
Dir Dato Dir Nodo con dos
referencias