SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Unidad de Aprendizaje:
Estructura de Datos
Unidad de Competencia II:
Estructuras de Datos
Lineales
M. en C. Edith Cristina Herrera Luna
Marzo 2015
Ingeniería en Computación
ESTRUCTURAS DE DATOS
Propósito de la Unidad de Aprendizaje
— Conocer, analizar y aplicar estructuras de datos
estáticas y dinámicas mediante programas para
la solución de problemas informáticos.
2 UAEM / ED / ECHL
Estructuras de Datos
INTRODUCCIÓN
— El estudio de las estructuras de datos, sin duda es uno de los más importantes
dentro de las carreras relacionadas con la computación, ya que el
conocimiento eficiente de las estructuras de datos suele ser imprescindible en
la formación de los alumnos debido a la trascendencia que un aprendizaje
teórico-práctico de las mismas supondrá́ para su carrera.
— En muchas ocasiones se necesitan estructuras que puedan cambiar de
tamaño durante la ejecución del programa. Por supuesto, se pueden usar
arreglos dinámicos, pero una vez creados, su tamaño también será́ fijo, y para
hacer que crezcan o disminuyan de tamaño, deberán reconstruirse desde el
principio.
— Las estructuras dinámicas permiten crear estructuras de datos que se adapten
a las necesidades reales a las que suelen enfrentarse los programas. Pero no
solo eso, también permitirá́ crear estructuras de datos muy flexibles, ya sea en
cuanto al orden, la estructura interna o las relaciones entre los elementos que
las componen.
3 UAEM / ED / ECHL
Estructuras de Datos Lineales
Unidad de Competencia II
OBJETIVO:
— Desarrollar programas que incorporen las principales
estructuras de datos lineales: Pila, Cola y Lista enlazada.
4 UAEM / ED / ECHL
1. Pila – Stack
— ¿Qué es una pila?
— Representación Gráfica
— Operaciones
— Aplicaciones
2. Cola – Queue
— ¿Qué es una cola?
— Tipos y representación Gráfica
— Operaciones
— Aplicaciones
5
Estructuras de Datos Lineales
CONTENIDO
UAEM / ED / ECHL
3. Lista – List
— ¿Qué es un nodo?
— ¿Qué es una lista?
— Tipos y representación Gráfica
— Operaciones
— Aplicaciones
6
Estructuras de Datos Lineales
CONTENIDO
UAEM / ED / ECHL
¿Qué es una Pila?
C. U. UAEM ZUMPANGO / ICO / ED / ECHL
¿Qué es una PILA?
— Una pila o stack es una estructura de datos lineal en la
que los datos son agregados y eliminados únicamente
por un extremo de la estructura.
Son estructuras tipo LIFO:
Last In, First Out. - “Ultimo en entrar, primero en salir”
Consta de un tope y no permite el uso de índices como un arreglo,
aunque las pilas pueden ser implementadas a partir de ellos y de
estructuras tipo lista.
8 UAEM / ED / ECHL
Representación Gráfica
Una pila generalmente se representa gráficamente de forma vertical, sin
embargo, el TOPE en la estructura es una señal para orientar su
funcionamiento:
UAEM / ED / ECHL
9
E
D
C
B
A
A B C D E
El TOPE (TOP) en una pila puede indicar:
- El ultimo dato agregado a la estructura
- El limite o borde del contenedor
TOPE
TOPE
Agrega
Agrega
Elimina
Elimina
Operaciones
Las operaciones permitidas sobre una pila son: agregar, eliminar,
consultar el tope, pila vacía.
— PUSH - Apilar: Se agrega un dato al tope de la pila.
UAEM / ED / ECHL
10
Ejemplo: En una pila de números enteros:
push( 8 ) , push( 50 ) , push ( -14 ) , push ( 39 )
8
50
8
-14
50
8
top
top
top
top
39
-14
50
8
top
Operaciones
— POP - Des apilar: Se elimina el tope de la pila.
UAEM / ED / ECHL
11
Ejemplo:
pop ( ) , pop ( )
50
8
-14
50
8
top
top
top
39
-14
50
8
Operaciones
— TOP : Indica cual es el tope de la pila.
No se producen cambios. (Consulta)
UAEM / ED / ECHL
12
Ejemplo:
top ( )
El tope de la pila es 50
50
8
top
— EMPTY - Pila Vacía: Indica si la pila esta
vacia
Ejemplo:
empty ( )
La pila esta vacia = false
Aplicaciones
Las pilas se usan en:
• Administración de llamadas a funciones.
• Equilibrio de paréntesis (corchetes y llaves) en expresiones.
• Pilas de recursividad.
• Equivalencias entre notaciones infijas, postfijas y prefijas.
• Historiales de cambios (deshacer).
• Torres de Hanoi, etc.
Una estructura tipo pila es util cuando el orden de los datos se
necesita invertir, porque es el orden natural de su
funcionamiento.
UAEM / ED / ECHL
13
UAEM / ED / ECHL
14
Aplicaciones
¿Qué es una Cola?
C. U. UAEM ZUMPANGO / ICO / ED / ECHL
— Una cola o queue es una estructura de datos lineal en la que
los datos son agregados por un extremo y eliminados por el
extremo contrario.
Son estructuras tipo FIFO:
First In, First Out. - “Primero en entrar, primero en salir”
Se tiene un extremo frontal y uno final (front / back), no permite el
uso de índices como un arreglo, aunque las pilas pueden ser
implementadas a partir de ellos y de estructuras tipo lista.
16 UAEM / ED / ECHL
¿Qué es una COLA?
Representación Gráfica
Una cola generalmente se representa gráficamente de forma horizontal,
sin embargo, el frente (front) de la estructura es una señal para orientar
su funcionamiento:
UAEM / ED / ECHL
17
A
B
C
D
E
E D C B A
Los datos se agregan por el final(back) de la
estructura y se eliminan por el frente(front)
de la estructura.
FRONT
FRONT
Agrega
Agrega
Elimina
Elimina
BACK
BACK
Existen diferentes tipos de estructura cola:
- Cola simple Queue
- Cola circular
- Cola de prioridad Priority queue
- Bicola Deque
- Bicola de salida restringida
- Bicola de entrada restringida
18 UAEM / ED / ECHL
Tipos de Colas
— El ultimo elemento de la estructura esta “ligado” o enlazado con el
primer elemento de la misma.
— Generalmente se tiene un numero especifico de datos que se pueden
almacenar en la estructura y apuntadores al inicio y final de la misma.
UAEM / ED / ECHL
19
Cola Circular
Manzana
Limón
Mango
Fresa
Piña
Inicio
Fin
Cuando un elemento se agrega se coloca al final de la estructura si hay espacio y
se recorre el puntero final.
UAEM / ED / ECHL
20
Cola Circular
Manzana
Limón
Mango
Fresa
Piña
Uva
Inicio
Fin
Manzana
Limón
Mango
Fresa
Piña
Uva
Inicio
Fin
Cuando un elemento se elimina el puntero
de inicio recorre la estructura por lo tanto
libera un lugar.
Los elementos se agregan al final de la estructura pero el elemento que
sale o el primero es el de mayor importancia o prioridad.
Generalmente los elementos no están ordenados dentro de la
estructura, sino que el primer elemento (y segundo en ocasiones) es el
que tiene mayor prioridad.
Si existen dos o mas elementos con la misma prioridad se toman
conforme se agregan a la estructura, como si fuera una cola simple.
UAEM / ED / ECHL
21
Cola de Prioridad
FRONT
BACK
Piña Manzana Limón Mango Piña Fresa
— Bicola de salida restringida
— Se agregan elementos por ambos extremos de la estructura, pero se
eliminan solo por el inicio (front).
— Bicola de entrada restringida
— Se eliminan elementos por ambos extremos de la estructura, pero se
agregan solo por el final (back).
UAEM / ED / ECHL
22
Bicola
FRONT
BACK
Piña Manzana Limón Mango Piña Fresa
FRONT
BACK
Piña Manzana Limón Mango Piña Fresa
Operaciones
Las operaciones permitidas sobre una cola son: agregar, eliminar,
consultar el primer y ultimo elemento, cola vacía.
— PUSH - Agregar: Se agrega un dato al final de la cola.
UAEM / ED / ECHL
23
Ejemplo: En una cola de números enteros:
push( 8 ) , push( 50 ) , push ( -14 ) , push ( 39 )
FRONT
BACK
8
FRONT
BACK
-14 50 8
FRONT
BACK
50 8
FRONT
BACK
39 -14 50 8
Operaciones
— POP - Quitar: Se elimina o quita el primer elemento de la
estructura, el primero que se agrego.
UAEM / ED / ECHL
24
Ejemplo:
pop ( ) , pop ( )
FRONT
BACK
39 -14 50 8
FRONT
BACK
39 -14 50
FRONT
BACK
39 -14
Operaciones
— FRONT : Indica cual es el primer elemento en la estructura.
— BACK : Indica cual es el ultimo elemento en la estructura.
No se producen cambios (Consulta).
UAEM / ED / ECHL
25
Ejemplo:
front ( )
El inicio de la cola es -14
back ( )
El final de la cola es 39
— EMPTY - Cola Vacía: Indica si la estructura
no contiene elementos
Ejemplo:
empty ( )
La cola esta vacia = false
FRONT
BACK
39 -14
Aplicaciones
Las estructuras tipo cola se usan en:
• Organización de archivos de impresión (colas de impresión).
• Orden de datos.
• Aplicaciones sobre filas de elementos.
• Visores de datos, imágenes, archivos.
• Atención de elementos por prioridades, etc.
UAEM / ED / ECHL
26
¿Qué es una Lista?
C. U. UAEM ZUMPANGO / ICO / ED / ECHL
— Un nodo es una estructura que agrupa un conjunto de datos o
campos arbitrarios, donde por lo menos un campo es de referencia o
enlace a un nodo del mismo tipo (autorreferenciado).
28 UAEM / ED / ECHL
¿Qué es un Nodo?
Campo de Datos Campo de Enlace
— Es una secuencia de nodos autorreferenciados con una o dos
referencias al nodo anterior y/o siguiente.
— Una lista enlazada (ligada o abierta) es una de las estructuras
de datos fundamentales y puede se usada para implementar
otras estructuras de datos, como pilas y colas.
UAEM / ED / ECHL
29
¿Qué es una Lista?
Representación Gráfica
Una lista generalmente se representa gráficamente
de forma horizontal, cada nodo cuenta con una
división marcada de los datos y los enlaces.
Generalmente tiene un puntero especial al inicio de
la lista, y en algunas ocasiones se tiene un puntero
que indica el final de la estructura
UAEM / ED / ECHL
30
A
NULL
Inicio
B C D
Existen diferentes tipos de estructura lista:
- Lista simplemente enlazada
- Lista doblemente enlazada
- Lista circular simple
- Lista circular doble
31 UAEM / ED / ECHL
Tipos de Listas
— Cada nodo de la estructura tiene un único campo de enlace que
apunta al siguiente nodo en la lista.
— El ultimo nodo en la lista apunta NULL (vacio).
UAEM / ED / ECHL
32
Lista simplemente enlazada
Fresa
20 NULL
Inicio
Uva
15
Limón
30
Piña
5
Fresa
20
Uva
15
Limón
30
Piña
5
— Cada nodo de la estructura tiene un campo de enlace que apunta al
siguiente nodo en la lista y un campo de enlace que apunta al nodo
anterior de la lista.
— El ultimo y primer nodo en la lista apunta NULL.
UAEM / ED / ECHL
33
Lista doblemente enlazada
NULL
Inicio
NULL
Fin
— Es una lista simple en la que el ultimo nodo apunta al primero en
lugar de a NULL.
UAEM / ED / ECHL
34
Lista circular simple
Fresa
20 NULL
Inicio
Uva
15
Limón
30
Piña
5
Fresa
20
Uva
15
Limón
30
Piña
5
— Es una lista enlazada doble en la que el ultimo nodo apunta al
primero y el primer nodo apunta al ultimo.
UAEM / ED / ECHL
35
Lista circular doble
Inicio Fin
Operaciones
Las operaciones básicas en una lista son:
Las listas enlazadas permiten inserciones y eliminación de nodos en
cualquier punto de la lista en tiempo constante (suponiendo que dicho
punto está previamente identificado o localizado), pero no permiten
un acceso aleatorio.
UAEM / ED / ECHL
36
Inserción
Primer nodo (No existe lista)
Al inicio de la lista
Entre dos nodos
Al final de la lista
Borrado
Primer nodo
Cualquier nodo excepto el
primero
Busqueda
Busqueda de un nodo
especifico
Operaciones
Insertar nodos:
• No existe lista
• Final de la lista
• Inicio de la lista
UAEM / ED / ECHL
37
Operaciones
• Insertar entre dos nodos
UAEM / ED / ECHL
38
Operaciones
Borrar nodos:
• Primer nodo
• Cualquier nodo excepto primero
UAEM / ED / ECHL
39
— Buscar un nodo
UAEM / ED / ECHL
40
Operaciones
— Las listas no requieren memoria entra para soportar la expansión, por
tanto el rendimiento no se afecta.
— La inserción y borrado de elementos es más rápida que en los
arreglos.
— Los elementos de los arreglos ocupan menos memoria que los nodos
porque no requieren campos de enlace.
— Los arreglos ofrecen un acceso más rápido a los datos, mediante
índices basados en enteros.
— Las listas enlazadas son más apropiadas cuando se trabaja con
datos dinámicos. En otras palabras, inserciones y borrados con
frecuencia. Por el contrario, los arreglos son más apropiados cuando
los datos son estáticos (las inserciones y borrados son pocas).
UAEM / ED / ECHL
41
Listas y arreglos
Aplicaciones
Las estructuras tipo lista se usan:
• Para implementar otras estructuras.
• Organizar de datos.
• Visores de datos, imágenes, archivos, reproductores.
• Indexar u ordenar datos.
• Listar tareas, canciones, recordatorios, archivos, etc.
UAEM / ED / ECHL
42
Referencias
— Koffman, Elliot y Wolfgang, Paul. (2008). Estructura de datos con C++.
Objetos, abstracciones y diseño. McGraw-Hill.
— Cairó, Osvaldo y Guardati, Silvia. (2006). Estructuras de datos (3a. Edición).
McGraw-Hill.
— Criado, Ma. Asunción. (2006). Programación en lenguajes estructurados.
AlfaOmega Ra-Ma.
— Joyanes, Luis. (2008). Fundamentos de programación (4a Edición). McGraw-
Hill.
— López, Leobardo. (2004). Programación estructurada. Un enfoque algorítmico
(2a. Edición). AlfaOmega.
— Joyanes, Luis. M. Fernández, L: Sánchez, I. Zahonero. (2005). Estructuras de
datos en C. McGraw-Hill. Schaum.
— Web:C Plus Plus: Biblioteca STL www.cplusplus.com/reference/stl .
UAEM / ED / ECHL
43
GRACIAS
Continua Unidad de Competencia III:
Árboles
C. U. UAEM ZUMPANGO / ICO / ED / ECHL
Guía para el Profesor
— Las primeras diapositivas muestran el propósito, justificación y objetivos de la
unidad de aprendizaje. Se presentan para que el alumno identifique dichos
elementos.
— El contenido, conforme a la unidad de aprendizaje, maneja los temas de un
menor a mayor grado de dificultad.
— Se recomienda que para cada tipo de estructura el alumno indique ejemplos
relacionados a computación y de vida cotidiana donde se implemente la
estructura.
— Realizar ejercicios en los que se pida dibujar la estructura y agregar o quitar
elementos, mostrando cada paso en un dibujo para identificar que el alumno
aprendió el funcionamiento de la estructura,
— Para el tema de pilas, pedir que resuelva el ejercicio de torres de Hanoi, con 5
discos y 3 torres. Se puede dibujar por pasos o usar monedas para
visualizarlo.
UAEM / ED / ECHL
45
Guía para el Profesor
— En ocasiones en conveniente iniciar con la estructura tipo lista, programarla y
de ahí pasar a estructura tipo pila y cola, ya que para su implementación se
pueden suprimir algunas operaciones ya programadas desde listas.
— El modelo de programación debe iniciar con la plantilla STL de C++ Standard
Template Library para conocer el funcionamiento de las estructuras,
posteriormente pedir que se programen usando arreglos y al final pedir que en
base a estructuras (struct) el alumno defina sus propias pilas, colas y listas.
— Aunque puede ser eficiente un modelo orientado a objetos no es
recomendable en este momento debido a que dicho paradigma se cubre en
otra asignatura, y a menos que ya se haya cursado, implementar por medio de
clases las estructuras implica que el alumno debe aprender el paradigma y el
uso de las estructuras de datos, situación que podría complicarle su
aprendizaje.
UAEM / ED / ECHL
46

Más contenido relacionado

Similar a secme-19001 (1) (1) (1).pdf

Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
José Braganza
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
rehoscript
 

Similar a secme-19001 (1) (1) (1).pdf (20)

Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Listas pilas colas
Listas pilas colasListas pilas colas
Listas pilas colas
 
PILAS
PILASPILAS
PILAS
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
estructura lineales
estructura linealesestructura lineales
estructura lineales
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
C9est lin
C9est linC9est lin
C9est lin
 
3.0 estructuras lineales
3.0 estructuras lineales3.0 estructuras lineales
3.0 estructuras lineales
 
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacionUnidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
Unidad 2 - Clase 5 - Pilas. sistemas de ls organizacion
 
Pilas colas
Pilas colasPilas colas
Pilas colas
 
Listas encadenadas
Listas encadenadas Listas encadenadas
Listas encadenadas
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 

Más de AlbertoVelasquez25 (10)

TESIS I NETFLIX Y el problema de las.comunicqcion.pptx
TESIS I NETFLIX Y el problema de las.comunicqcion.pptxTESIS I NETFLIX Y el problema de las.comunicqcion.pptx
TESIS I NETFLIX Y el problema de las.comunicqcion.pptx
 
organigramas empresas privadas y publicas.pdf
organigramas empresas privadas y publicas.pdforganigramas empresas privadas y publicas.pdf
organigramas empresas privadas y publicas.pdf
 
DESNUTRICION y su cuidado en la niños y jovene
DESNUTRICION y su cuidado en la niños y joveneDESNUTRICION y su cuidado en la niños y jovene
DESNUTRICION y su cuidado en la niños y jovene
 
piel de cristal en los niños y adolescentes
piel de cristal en los niños y adolescentespiel de cristal en los niños y adolescentes
piel de cristal en los niños y adolescentes
 
Presentacion-Camara-de-Comercio-Juan-Galera.ppsx
Presentacion-Camara-de-Comercio-Juan-Galera.ppsxPresentacion-Camara-de-Comercio-Juan-Galera.ppsx
Presentacion-Camara-de-Comercio-Juan-Galera.ppsx
 
DIAGRAMA DE PORTER.pptx
DIAGRAMA DE PORTER.pptxDIAGRAMA DE PORTER.pptx
DIAGRAMA DE PORTER.pptx
 
331004991-Introduccion-Mercadotecnia-Electronica-pptx.pptx
331004991-Introduccion-Mercadotecnia-Electronica-pptx.pptx331004991-Introduccion-Mercadotecnia-Electronica-pptx.pptx
331004991-Introduccion-Mercadotecnia-Electronica-pptx.pptx
 
iiuafi-120925215851-phpapp01.pdf
iiuafi-120925215851-phpapp01.pdfiiuafi-120925215851-phpapp01.pdf
iiuafi-120925215851-phpapp01.pdf
 
cliente-servidor.pptx
cliente-servidor.pptxcliente-servidor.pptx
cliente-servidor.pptx
 
cliente-servidor.pptx
cliente-servidor.pptxcliente-servidor.pptx
cliente-servidor.pptx
 

Último

FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
Santosprez2
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdfEscucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdfDiseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfGran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
 
Evaluación de los Factores Externos de la Organización.
Evaluación de los Factores Externos de la Organización.Evaluación de los Factores Externos de la Organización.
Evaluación de los Factores Externos de la Organización.
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdf
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
 
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
 
Proyecto de Participación Estudiantil Completo - Bachillerato Ecuador
Proyecto de Participación Estudiantil Completo - Bachillerato EcuadorProyecto de Participación Estudiantil Completo - Bachillerato Ecuador
Proyecto de Participación Estudiantil Completo - Bachillerato Ecuador
 
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLAACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
 
Los caminos del saber matematicas 7°.pdf
Los caminos del saber matematicas 7°.pdfLos caminos del saber matematicas 7°.pdf
Los caminos del saber matematicas 7°.pdf
 
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdfEscucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
 
Salud mental y bullying en adolescentes.
Salud mental y bullying en adolescentes.Salud mental y bullying en adolescentes.
Salud mental y bullying en adolescentes.
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdfDiseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
 
Botiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdfBotiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdf
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
Estudios Sociales libro 8vo grado Básico
Estudios Sociales libro 8vo grado BásicoEstudios Sociales libro 8vo grado Básico
Estudios Sociales libro 8vo grado Básico
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemas
 

secme-19001 (1) (1) (1).pdf

  • 1. Unidad de Aprendizaje: Estructura de Datos Unidad de Competencia II: Estructuras de Datos Lineales M. en C. Edith Cristina Herrera Luna Marzo 2015 Ingeniería en Computación
  • 2. ESTRUCTURAS DE DATOS Propósito de la Unidad de Aprendizaje — Conocer, analizar y aplicar estructuras de datos estáticas y dinámicas mediante programas para la solución de problemas informáticos. 2 UAEM / ED / ECHL
  • 3. Estructuras de Datos INTRODUCCIÓN — El estudio de las estructuras de datos, sin duda es uno de los más importantes dentro de las carreras relacionadas con la computación, ya que el conocimiento eficiente de las estructuras de datos suele ser imprescindible en la formación de los alumnos debido a la trascendencia que un aprendizaje teórico-práctico de las mismas supondrá́ para su carrera. — En muchas ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la ejecución del programa. Por supuesto, se pueden usar arreglos dinámicos, pero una vez creados, su tamaño también será́ fijo, y para hacer que crezcan o disminuyan de tamaño, deberán reconstruirse desde el principio. — Las estructuras dinámicas permiten crear estructuras de datos que se adapten a las necesidades reales a las que suelen enfrentarse los programas. Pero no solo eso, también permitirá́ crear estructuras de datos muy flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre los elementos que las componen. 3 UAEM / ED / ECHL
  • 4. Estructuras de Datos Lineales Unidad de Competencia II OBJETIVO: — Desarrollar programas que incorporen las principales estructuras de datos lineales: Pila, Cola y Lista enlazada. 4 UAEM / ED / ECHL
  • 5. 1. Pila – Stack — ¿Qué es una pila? — Representación Gráfica — Operaciones — Aplicaciones 2. Cola – Queue — ¿Qué es una cola? — Tipos y representación Gráfica — Operaciones — Aplicaciones 5 Estructuras de Datos Lineales CONTENIDO UAEM / ED / ECHL
  • 6. 3. Lista – List — ¿Qué es un nodo? — ¿Qué es una lista? — Tipos y representación Gráfica — Operaciones — Aplicaciones 6 Estructuras de Datos Lineales CONTENIDO UAEM / ED / ECHL
  • 7. ¿Qué es una Pila? C. U. UAEM ZUMPANGO / ICO / ED / ECHL
  • 8. ¿Qué es una PILA? — Una pila o stack es una estructura de datos lineal en la que los datos son agregados y eliminados únicamente por un extremo de la estructura. Son estructuras tipo LIFO: Last In, First Out. - “Ultimo en entrar, primero en salir” Consta de un tope y no permite el uso de índices como un arreglo, aunque las pilas pueden ser implementadas a partir de ellos y de estructuras tipo lista. 8 UAEM / ED / ECHL
  • 9. Representación Gráfica Una pila generalmente se representa gráficamente de forma vertical, sin embargo, el TOPE en la estructura es una señal para orientar su funcionamiento: UAEM / ED / ECHL 9 E D C B A A B C D E El TOPE (TOP) en una pila puede indicar: - El ultimo dato agregado a la estructura - El limite o borde del contenedor TOPE TOPE Agrega Agrega Elimina Elimina
  • 10. Operaciones Las operaciones permitidas sobre una pila son: agregar, eliminar, consultar el tope, pila vacía. — PUSH - Apilar: Se agrega un dato al tope de la pila. UAEM / ED / ECHL 10 Ejemplo: En una pila de números enteros: push( 8 ) , push( 50 ) , push ( -14 ) , push ( 39 ) 8 50 8 -14 50 8 top top top top 39 -14 50 8 top
  • 11. Operaciones — POP - Des apilar: Se elimina el tope de la pila. UAEM / ED / ECHL 11 Ejemplo: pop ( ) , pop ( ) 50 8 -14 50 8 top top top 39 -14 50 8
  • 12. Operaciones — TOP : Indica cual es el tope de la pila. No se producen cambios. (Consulta) UAEM / ED / ECHL 12 Ejemplo: top ( ) El tope de la pila es 50 50 8 top — EMPTY - Pila Vacía: Indica si la pila esta vacia Ejemplo: empty ( ) La pila esta vacia = false
  • 13. Aplicaciones Las pilas se usan en: • Administración de llamadas a funciones. • Equilibrio de paréntesis (corchetes y llaves) en expresiones. • Pilas de recursividad. • Equivalencias entre notaciones infijas, postfijas y prefijas. • Historiales de cambios (deshacer). • Torres de Hanoi, etc. Una estructura tipo pila es util cuando el orden de los datos se necesita invertir, porque es el orden natural de su funcionamiento. UAEM / ED / ECHL 13
  • 14. UAEM / ED / ECHL 14 Aplicaciones
  • 15. ¿Qué es una Cola? C. U. UAEM ZUMPANGO / ICO / ED / ECHL
  • 16. — Una cola o queue es una estructura de datos lineal en la que los datos son agregados por un extremo y eliminados por el extremo contrario. Son estructuras tipo FIFO: First In, First Out. - “Primero en entrar, primero en salir” Se tiene un extremo frontal y uno final (front / back), no permite el uso de índices como un arreglo, aunque las pilas pueden ser implementadas a partir de ellos y de estructuras tipo lista. 16 UAEM / ED / ECHL ¿Qué es una COLA?
  • 17. Representación Gráfica Una cola generalmente se representa gráficamente de forma horizontal, sin embargo, el frente (front) de la estructura es una señal para orientar su funcionamiento: UAEM / ED / ECHL 17 A B C D E E D C B A Los datos se agregan por el final(back) de la estructura y se eliminan por el frente(front) de la estructura. FRONT FRONT Agrega Agrega Elimina Elimina BACK BACK
  • 18. Existen diferentes tipos de estructura cola: - Cola simple Queue - Cola circular - Cola de prioridad Priority queue - Bicola Deque - Bicola de salida restringida - Bicola de entrada restringida 18 UAEM / ED / ECHL Tipos de Colas
  • 19. — El ultimo elemento de la estructura esta “ligado” o enlazado con el primer elemento de la misma. — Generalmente se tiene un numero especifico de datos que se pueden almacenar en la estructura y apuntadores al inicio y final de la misma. UAEM / ED / ECHL 19 Cola Circular Manzana Limón Mango Fresa Piña Inicio Fin
  • 20. Cuando un elemento se agrega se coloca al final de la estructura si hay espacio y se recorre el puntero final. UAEM / ED / ECHL 20 Cola Circular Manzana Limón Mango Fresa Piña Uva Inicio Fin Manzana Limón Mango Fresa Piña Uva Inicio Fin Cuando un elemento se elimina el puntero de inicio recorre la estructura por lo tanto libera un lugar.
  • 21. Los elementos se agregan al final de la estructura pero el elemento que sale o el primero es el de mayor importancia o prioridad. Generalmente los elementos no están ordenados dentro de la estructura, sino que el primer elemento (y segundo en ocasiones) es el que tiene mayor prioridad. Si existen dos o mas elementos con la misma prioridad se toman conforme se agregan a la estructura, como si fuera una cola simple. UAEM / ED / ECHL 21 Cola de Prioridad FRONT BACK Piña Manzana Limón Mango Piña Fresa
  • 22. — Bicola de salida restringida — Se agregan elementos por ambos extremos de la estructura, pero se eliminan solo por el inicio (front). — Bicola de entrada restringida — Se eliminan elementos por ambos extremos de la estructura, pero se agregan solo por el final (back). UAEM / ED / ECHL 22 Bicola FRONT BACK Piña Manzana Limón Mango Piña Fresa FRONT BACK Piña Manzana Limón Mango Piña Fresa
  • 23. Operaciones Las operaciones permitidas sobre una cola son: agregar, eliminar, consultar el primer y ultimo elemento, cola vacía. — PUSH - Agregar: Se agrega un dato al final de la cola. UAEM / ED / ECHL 23 Ejemplo: En una cola de números enteros: push( 8 ) , push( 50 ) , push ( -14 ) , push ( 39 ) FRONT BACK 8 FRONT BACK -14 50 8 FRONT BACK 50 8 FRONT BACK 39 -14 50 8
  • 24. Operaciones — POP - Quitar: Se elimina o quita el primer elemento de la estructura, el primero que se agrego. UAEM / ED / ECHL 24 Ejemplo: pop ( ) , pop ( ) FRONT BACK 39 -14 50 8 FRONT BACK 39 -14 50 FRONT BACK 39 -14
  • 25. Operaciones — FRONT : Indica cual es el primer elemento en la estructura. — BACK : Indica cual es el ultimo elemento en la estructura. No se producen cambios (Consulta). UAEM / ED / ECHL 25 Ejemplo: front ( ) El inicio de la cola es -14 back ( ) El final de la cola es 39 — EMPTY - Cola Vacía: Indica si la estructura no contiene elementos Ejemplo: empty ( ) La cola esta vacia = false FRONT BACK 39 -14
  • 26. Aplicaciones Las estructuras tipo cola se usan en: • Organización de archivos de impresión (colas de impresión). • Orden de datos. • Aplicaciones sobre filas de elementos. • Visores de datos, imágenes, archivos. • Atención de elementos por prioridades, etc. UAEM / ED / ECHL 26
  • 27. ¿Qué es una Lista? C. U. UAEM ZUMPANGO / ICO / ED / ECHL
  • 28. — Un nodo es una estructura que agrupa un conjunto de datos o campos arbitrarios, donde por lo menos un campo es de referencia o enlace a un nodo del mismo tipo (autorreferenciado). 28 UAEM / ED / ECHL ¿Qué es un Nodo? Campo de Datos Campo de Enlace
  • 29. — Es una secuencia de nodos autorreferenciados con una o dos referencias al nodo anterior y/o siguiente. — Una lista enlazada (ligada o abierta) es una de las estructuras de datos fundamentales y puede se usada para implementar otras estructuras de datos, como pilas y colas. UAEM / ED / ECHL 29 ¿Qué es una Lista?
  • 30. Representación Gráfica Una lista generalmente se representa gráficamente de forma horizontal, cada nodo cuenta con una división marcada de los datos y los enlaces. Generalmente tiene un puntero especial al inicio de la lista, y en algunas ocasiones se tiene un puntero que indica el final de la estructura UAEM / ED / ECHL 30 A NULL Inicio B C D
  • 31. Existen diferentes tipos de estructura lista: - Lista simplemente enlazada - Lista doblemente enlazada - Lista circular simple - Lista circular doble 31 UAEM / ED / ECHL Tipos de Listas
  • 32. — Cada nodo de la estructura tiene un único campo de enlace que apunta al siguiente nodo en la lista. — El ultimo nodo en la lista apunta NULL (vacio). UAEM / ED / ECHL 32 Lista simplemente enlazada Fresa 20 NULL Inicio Uva 15 Limón 30 Piña 5
  • 33. Fresa 20 Uva 15 Limón 30 Piña 5 — Cada nodo de la estructura tiene un campo de enlace que apunta al siguiente nodo en la lista y un campo de enlace que apunta al nodo anterior de la lista. — El ultimo y primer nodo en la lista apunta NULL. UAEM / ED / ECHL 33 Lista doblemente enlazada NULL Inicio NULL Fin
  • 34. — Es una lista simple en la que el ultimo nodo apunta al primero en lugar de a NULL. UAEM / ED / ECHL 34 Lista circular simple Fresa 20 NULL Inicio Uva 15 Limón 30 Piña 5
  • 35. Fresa 20 Uva 15 Limón 30 Piña 5 — Es una lista enlazada doble en la que el ultimo nodo apunta al primero y el primer nodo apunta al ultimo. UAEM / ED / ECHL 35 Lista circular doble Inicio Fin
  • 36. Operaciones Las operaciones básicas en una lista son: Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un acceso aleatorio. UAEM / ED / ECHL 36 Inserción Primer nodo (No existe lista) Al inicio de la lista Entre dos nodos Al final de la lista Borrado Primer nodo Cualquier nodo excepto el primero Busqueda Busqueda de un nodo especifico
  • 37. Operaciones Insertar nodos: • No existe lista • Final de la lista • Inicio de la lista UAEM / ED / ECHL 37
  • 38. Operaciones • Insertar entre dos nodos UAEM / ED / ECHL 38
  • 39. Operaciones Borrar nodos: • Primer nodo • Cualquier nodo excepto primero UAEM / ED / ECHL 39
  • 40. — Buscar un nodo UAEM / ED / ECHL 40 Operaciones
  • 41. — Las listas no requieren memoria entra para soportar la expansión, por tanto el rendimiento no se afecta. — La inserción y borrado de elementos es más rápida que en los arreglos. — Los elementos de los arreglos ocupan menos memoria que los nodos porque no requieren campos de enlace. — Los arreglos ofrecen un acceso más rápido a los datos, mediante índices basados en enteros. — Las listas enlazadas son más apropiadas cuando se trabaja con datos dinámicos. En otras palabras, inserciones y borrados con frecuencia. Por el contrario, los arreglos son más apropiados cuando los datos son estáticos (las inserciones y borrados son pocas). UAEM / ED / ECHL 41 Listas y arreglos
  • 42. Aplicaciones Las estructuras tipo lista se usan: • Para implementar otras estructuras. • Organizar de datos. • Visores de datos, imágenes, archivos, reproductores. • Indexar u ordenar datos. • Listar tareas, canciones, recordatorios, archivos, etc. UAEM / ED / ECHL 42
  • 43. Referencias — Koffman, Elliot y Wolfgang, Paul. (2008). Estructura de datos con C++. Objetos, abstracciones y diseño. McGraw-Hill. — Cairó, Osvaldo y Guardati, Silvia. (2006). Estructuras de datos (3a. Edición). McGraw-Hill. — Criado, Ma. Asunción. (2006). Programación en lenguajes estructurados. AlfaOmega Ra-Ma. — Joyanes, Luis. (2008). Fundamentos de programación (4a Edición). McGraw- Hill. — López, Leobardo. (2004). Programación estructurada. Un enfoque algorítmico (2a. Edición). AlfaOmega. — Joyanes, Luis. M. Fernández, L: Sánchez, I. Zahonero. (2005). Estructuras de datos en C. McGraw-Hill. Schaum. — Web:C Plus Plus: Biblioteca STL www.cplusplus.com/reference/stl . UAEM / ED / ECHL 43
  • 44. GRACIAS Continua Unidad de Competencia III: Árboles C. U. UAEM ZUMPANGO / ICO / ED / ECHL
  • 45. Guía para el Profesor — Las primeras diapositivas muestran el propósito, justificación y objetivos de la unidad de aprendizaje. Se presentan para que el alumno identifique dichos elementos. — El contenido, conforme a la unidad de aprendizaje, maneja los temas de un menor a mayor grado de dificultad. — Se recomienda que para cada tipo de estructura el alumno indique ejemplos relacionados a computación y de vida cotidiana donde se implemente la estructura. — Realizar ejercicios en los que se pida dibujar la estructura y agregar o quitar elementos, mostrando cada paso en un dibujo para identificar que el alumno aprendió el funcionamiento de la estructura, — Para el tema de pilas, pedir que resuelva el ejercicio de torres de Hanoi, con 5 discos y 3 torres. Se puede dibujar por pasos o usar monedas para visualizarlo. UAEM / ED / ECHL 45
  • 46. Guía para el Profesor — En ocasiones en conveniente iniciar con la estructura tipo lista, programarla y de ahí pasar a estructura tipo pila y cola, ya que para su implementación se pueden suprimir algunas operaciones ya programadas desde listas. — El modelo de programación debe iniciar con la plantilla STL de C++ Standard Template Library para conocer el funcionamiento de las estructuras, posteriormente pedir que se programen usando arreglos y al final pedir que en base a estructuras (struct) el alumno defina sus propias pilas, colas y listas. — Aunque puede ser eficiente un modelo orientado a objetos no es recomendable en este momento debido a que dicho paradigma se cubre en otra asignatura, y a menos que ya se haya cursado, implementar por medio de clases las estructuras implica que el alumno debe aprender el paradigma y el uso de las estructuras de datos, situación que podría complicarle su aprendizaje. UAEM / ED / ECHL 46