Sei sulla pagina 1di 17

Sesión 2:

Introducción a las
Estructuras de Datos
Dra. Ing. Jessie Leila Bravo Jaico
Email: jbravo@usat.edu.pe
Curso: Estructura de Datos y algoritmos

www.usat.edu.pe
www.usat.edu.pe
Objetivos

 Comprender que son las


estructuras de datos y como se
clasifican.
 Definir la importancia de las
estructuras de datos en el
desarrollo de aplicaciones en las
ciencias de la computación.
 Comprender que es un Tipo de
datos Abstracto (TDA) y su uso.

www.usat.edu.pe
Lista de contenidos
• Introducción
• Definición de Estructura de datos
• Importancia
• Características
• Clasificación
• Tipo de Dato Abstracto
• Ventajas y desventajas
• Generalidades
• Tarea
• Conclusiones
• Bibliografía
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
Importancia

• ¿Por qué son útiles las estructuras de datos?


• Vamos a ver un video que nos ayude a analizar este
tema.

• https://www.youtube.com/watch?v=gLMWA950hW8

7 www.usat.edu.pe
Características

Las características de las estructuras de datos son:


• Las estructuras de datos son independientes del
lenguaje de programación.
• 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
Tarea

• Investigue ejemplos de cómo se aplican las diferentes


estructuras de datos en la actualidad.
• Además de las aplicaciones actuales de qué otra
manera crees se podría aplicar?

14 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.
• Las estructuras de datos nos permiten elaborar algoritmos
con un tiempo de ejecución óptimo.
• 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
Referencias
• Aho Alfred V., Hopcroft John E. y Ullman Jeffrey D. 1988.
Estructuras de datos y algoritmos. Addison-Wesley
Iberoamericana, 1988 (005.73/A38)
• Allen Weiss, Mark. 2000. Estructuras de datos en Java.
Compatible con Java 2 Addison-Wesley Iberoamericana.
(005.73/A47)
• Flórez Rueda, Roberto. 2005. Algoritmos, estructuras de datos
y programación orientada a objetos. ECOE Ediciones.
(005.73/F64)
• Joyanes Aguilar, Luis. 2003. Fundamentos de programación:
algoritmos, estructura de datos y objetos. McGraw-Hill
Interamericana (05.73/J79 2003)
www.usat.edu.pe
Dra. Ing. Jessie Leila Bravo Jaico
Email: jbravo@usat.edu.pe

http://www.facebook.com/usat.peru

https://twitter.com/usatenlinea

https://www.youtube.com/user/tvusat

https://plus.google.com/+usateduperu

www.usat.edu.pe

Potrebbero piacerti anche