Sei sulla pagina 1di 11

ESTRUCTURA DE DATOS

MSc. Ing. Jessie Leila Bravo Jaico

www.usat.edu.pe
www.usat.edu.pe
Introducción

• En la programación existen problemas en los cuales


se requiere operar con una colección de datos.
• Por ejemplo, si requerimos almacenar información de
los empleados de una empresa para luego manipular
esta información, si requerimos simular los clientes
que son atendidos en un supermercado, etc.
• En estos casos necesitamos agrupar estos objetos
para luego trabajar con ellos y luego poder obtener
de éstos información valiosa para una organización.

www.usat.edu.pe
Introducción

• La información que se procesa en la computadora es un


conjunto de datos, que pueden ser simples o
estructurados.
• Los datos simples son aquellos que ocupan sólo un
localidad de memoria, mientras que los estructurados
son un conjunto de casillas de memoria a las cuales
hacemos referencia mediante un identificador único.
• Debido a que por lo general tenemos que tratar con
conjuntos de datos y no con datos simples (enteros,
reales, booleanos, etc.) que por sí solos no nos dicen
nada, ni nos sirven de mucho, es necesario tratar con
estructuras de datos adecuadas a cada necesidad.

www.usat.edu.pe
Definición

• Una estructura de datos es una manera de disponer


de una colección de datos, así como, de la forma en
cómo van a ser manipulados, esto es, saber como se
agregarán nuevos datos, cómo se accederán a estos
datos, cómo se eliminan datos, etc.

www.usat.edu.pe
Características

Las características de las estructuras de datos son:

• Pueden descomponerse en los elementos que la


forman.
• La manera en que se colocan los elementos dentro
de la estructura afectará la forma en que se realicen
los accesos a cada elemento.
• La colocación de los elementos y la manera en que se
accede a ellos puede ser encapsulada.

www.usat.edu.pe
Clasificación

www.usat.edu.pe
Clasificación

• Una estructura de datos es dinámica, cuando durante


la ejecución del programa ésta puede ir creciendo, es
decir, ocupando más memoria.
• Por el contrario una estructura de datos que siempre
ocupa el mismo espacio se dice que es estática.
• En esta curso solo estudiaremos las estructuras de
datos internas, describiremos en qué consisten,
cómo operan y aplicaciones.
• Una vez revisados los conceptos de cada estructura
las implementaremos en java.

www.usat.edu.pe
Tipo de Dato Abstracto (TDA)

• Las estructuras mostradas en el gráfico, excepto los


arreglos, pueden ser pensados como tipos de datos
abstractos (TDA).
• Un TDA, de forma general, es una forma de ver una
estructura de datos: enfocándose en lo que esta hace
e ignorando como hace su trabajo, es decir, el TDA
debería cumplir con ciertas propiedades, pero la
manera como estaría implementado puede variar,
aún empleando el mismo lenguaje.
• Por ejemplo, el TDA pila puede ser implementado con
un arreglo o bien con una lista enlazada.

www.usat.edu.pe
Ventajas y Desventajas
Estructura Ventajas Desventajas

Arreglo Inserción rápida. Búsqueda y borrado


Acceso muy rápido si se Lento.
conoce el índice. Tamaño bajo

Pila Proporciona acceso Acceso lento a otros elementos.


último en entrar, primero en salir.

Cola Proporciona primero Acceso lento a otros elementos.


en entrar, primero en salir.

Lista Enlazada Inserción y borrado rápido. Búsqueda lenta.

Lista Dinámica Implementación sencilla. Inserción y borrado lento.


Búsquedas rápidas.

Árbol binario Búsqueda, inserción y borrado rápido si el Complejo.


árbol permanece balanceado.

Grafo Modela situaciones Algunos algoritmos son lentos y


del mundo real. complejos.

www.usat.edu.pe
Generalidades
• Varios de los algoritmos que serán tratados en el curso se aplicarán
directamente a estructuras de datos específicas. Para la mayoría de
las estructuras de datos, se requiere que hagan las siguientes tareas:
1. Insertar un nuevo dato.
2. Buscar un elemento indicado.
3. Borrar un elemento indicado.
• También se necesitará saber como iterar a través de todos los
elementos en la estructura de datos, visitando cada uno en su turno
ya sea para mostrarlo o para realizar alguna acción en éste.
• Otro algoritmo importante es el ordenamiento. Hay varias formas
para ordenar los datos, desde ideas simples hasta otras que
permiten realizarlo de manera rápida.
• El concepto de recurrencia o recursividad es importante en el
diseño de ciertos algoritmos.
• La recurrencia involucra que un método se llame a si mismo

www.usat.edu.pe
Conclusiones

• El estudio de las Estructuras de Datos es sumamente


importante, debido a la necesidad de manipular la
información de manera adecuada y oportuna.
• Debemos procurar que los algoritmos aplicados
funcionen en un adecuado tiempo de ejecución.
• Es por ello de la importancia de aprender acerca de
las Estructuras de Datos, y de cómo manipular la
información a través de ordenamientos, búsquedas,
organización, métodos de acceso, etc.

www.usat.edu.pe