Unidad 1 
Introducción a las estructuras de datos
Tipos de datos abtractos 
 Una estructura de datos bien organizada debe permitir realizar un conjunto 
de acciones sobre los datos de tal forma de minimizar el uso de los recursos y 
el tiempo empleado para efectuar la operación.
ABSTRACCION 
 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.
Tipo Abstracto de Dato (TDA) 
 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 
 Un TDA está caracterizado por un conjunto de operaciones (métodos) al cual 
le denominamos usualmente como su interfaz pública y representan el 
comportamiento del TDA; mientras que laimplementación como la parte 
privada del TDA está oculta al programa cliente que lo usa. Todos los 
lenguajes de alto nivel tienen predefinidos TDA.
Modularidad 
 La modularidad es la posibilidad de dividir una aplicación en piezas más 
pequeñas llamadas módulos.
Uso de TDA 
 Las operaciones que permitirá realizar son: 
 a) Unión 
 b) Intersección 
 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 tamaño según se necesite. 
Esto lo hace similar a la clase vector
Manejo de Memoria 
 La administración 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 programación administra la 
memoria para cada programa en ejecución.
Manejo de memoria estática Manejo 
de memoria dinámica 
 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. 
 Un vector es una colección finita, homogénea y ordenada de elementos. 
 Los componentes hacen referencia a los elementos que forman el arreglo y los índices 
permiten referirse a los componentes del arreglo en forma individual. 
 Los arreglos se clasifican en: 
 - Unidimensionales (vectores o listas) 
 - Bidimensionales (matrices o tablas) 
 - Multidimensionales
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. De esa manera, a medida que el proceso 
requiere de más espacio se solicita al sistema operativo, sin que el proceso se 
preocupe por donde serán asignados los datos, ni que espacios de memoria 
nos entregara el sistema operativo. 
 Así como existen estructuras de datos estáticas (arreglos), también existen 
estructuras de datos dinámicas (listas y árboles), estas últimas son generadas 
a partir de un tipo de dato conocido como referencia (dirección de memoria). 
Para utilizar las referencias se requiere de un elemento llamado nodo, el cual 
se estructura de la siguiente manera.

Unidad 1

  • 1.
    Unidad 1 Introduccióna las estructuras de datos
  • 2.
    Tipos de datosabtractos  Una estructura de datos bien organizada debe permitir realizar un conjunto de acciones sobre los datos de tal forma de minimizar el uso de los recursos y el tiempo empleado para efectuar la operación.
  • 3.
    ABSTRACCION  Laabstracció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.
    Tipo Abstracto deDato (TDA)  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  Un TDA está caracterizado por un conjunto de operaciones (métodos) al cual le denominamos usualmente como su interfaz pública y representan el comportamiento del TDA; mientras que laimplementación como la parte privada del TDA está oculta al programa cliente que lo usa. Todos los lenguajes de alto nivel tienen predefinidos TDA.
  • 5.
    Modularidad  Lamodularidad es la posibilidad de dividir una aplicación en piezas más pequeñas llamadas módulos.
  • 6.
    Uso de TDA  Las operaciones que permitirá realizar son:  a) Unión  b) Intersección  c) Diferencia
  • 7.
    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
  • 8.
    Manejo de Memoria  La administración 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 programación administra la memoria para cada programa en ejecución.
  • 9.
    Manejo de memoriaestática Manejo de memoria dinámica  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.  Un vector es una colección finita, homogénea y ordenada de elementos.  Los componentes hacen referencia a los elementos que forman el arreglo y los índices permiten referirse a los componentes del arreglo en forma individual.  Los arreglos se clasifican en:  - Unidimensionales (vectores o listas)  - Bidimensionales (matrices o tablas)  - Multidimensionales
  • 10.
    Manejo de memoriadiná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. De esa manera, a medida que el proceso requiere de más espacio se solicita al sistema operativo, sin que el proceso se preocupe por donde serán asignados los datos, ni que espacios de memoria nos entregara el sistema operativo.  Así como existen estructuras de datos estáticas (arreglos), también existen estructuras de datos dinámicas (listas y árboles), estas últimas son generadas a partir de un tipo de dato conocido como referencia (dirección de memoria). Para utilizar las referencias se requiere de un elemento llamado nodo, el cual se estructura de la siguiente manera.