0% encontró este documento útil (0 votos)
24 vistas17 páginas

Fase 2 Algoritmos

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • FIFO,
  • Estructuras de datos,
  • Características de pilas,
  • Listas enlazadas,
  • Eficiencia de algoritmos,
  • Implementación de colas,
  • Código abierto,
  • Principios de programación,
  • Estructuras lineales,
  • Programadores
0% encontró este documento útil (0 votos)
24 vistas17 páginas

Fase 2 Algoritmos

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • FIFO,
  • Estructuras de datos,
  • Características de pilas,
  • Listas enlazadas,
  • Eficiencia de algoritmos,
  • Implementación de colas,
  • Código abierto,
  • Principios de programación,
  • Estructuras lineales,
  • Programadores

UNIVERSIDAD AUTÓNOMA DE NUEVO

LEÓN

FACULTAD DE INGENIERÍA MECÁNICA Y


ELÉCTRICA MATERIA:
Algoritmos Computacionales
Actividad: Fase 2
Nombre Matricula Carrera
Omar Alejandro Velázquez 2099004 IAS
Medrano
José isidro López 2103278 IAS
Cantú
Kevin Geovanni Chávez 2106693 IAS
González
Andrik Rael Cantú Vázquez 2055691 ITS
Pilas y colas
INTRODUCCIÓN
4

PILAS
5

Contenido COLAS
9

EJEMPLOS DE PILAS Y COLAS


13
CONCLUSIONES Y
BIBLIOGRAFIAS
16
introducción
Las pilas y colas son estructuras de
datos lineales, donde existen
restricciones para insertar y eliminar
elementos. Son casos particulares
de la estructura lista, y se pueden
implementar mediante vectores o
listas enlazadas.

4
Pilas
Su concepto y su estructura
Definición
Una pila (stack) es una coleccion ordenada de
elementos en la cual los datos se insertan o se
retiran por el mismo extremo llamado “parte
superior” de la pila.
Este comportamiento está basado en el principio
"último en entrar, primero en salir", también
conocido como LIFO, por su nombre en inglés
"last-in, first-out", que dicta que el primer
elemento que fue añadido a la pila será el último
en ser removido de la misma.

6
La utilidad.
El concepto de pila es muy importante en computación y en especial en
teoría de lenguajes de programación. En lenguajes, la pila es una estructura
indispensable, debido a las llamadas a función. ¿Por qué?
Cuando ocurre una llamada a alguna función, el estado global del sistema se
almacena en un registro y éste en una pila. Cuando se termina de ejecutar
algún procedimiento, se recupera el registro que está en la cima de la pila.

La desventaja de implementar una pila mediante un arreglo es que esta


última es de tamaño fijo, mientras que usando punteros la pila puede ser de
tamaño dinámico.

7
CARACTERISTICAS DE PILAS

•Las pilas son estructuras de datos lineales, lo que significa que los elementos están organizados en una secuencia
unidimensional..
•Un elemento que indique cuál es el elemento en la cima de la pila.
• En una pila, el último elemento que se añade es el primero en ser eliminado.
• En C, los arreglos permiten almacenar colecciones ordenadas.
• La desventaja de implementar una pila mediante un arreglo es que esta última es de tamaño fijo, mientras que
usando punteros la pila puede ser de tamaño dinámico.
• Las operaciones fundamentales en una pila son:
-Push (Empujar): Agregar un elemento en la parte superior de la pila.
-Pop (Sacar): Eliminar el elemento superior de la pila.
-Top/Peek (Tope/Vistazo): Observar el elemento superior sin eliminarlo.
-isEmpty (Está vacía): Verificar si la pila no tiene elementos.

8
Colas
Su concepto y su estructura
Definición
• Una Cola o Queue es un caso particular de la lista
donde la inserción y eliminación de elementos se
realizan por los extremos de la lista; las eliminaciones
se realizan al principio de la lista, o el frente (front) de
la misma, y las inserciones se realizan en el otro
extremo, el final (rear). Algunas analogías en la vida
real: cola de personas en el banco, cola de vehículos
en el semáforo, etc.
• Este comportamiento está basado en el principio
"primero en entrar, primero en salir", también
conocido como FIFO, por su nombre en inglés "first-
in, first-out", que dicta que el primer elemento que
fue añadido a la cola será el primero en ser
removido.

10
ESTRUCTURA DE LAS COLAS
• • Su nombre se deriva de la metáfora de
una cola de personas en una taquilla.
• • La inserción y extracción de elementos de
la cola
• siguen el principio FIFO (first-in-first-out).
• • El elemento con más tiempo en la cola es
el que puede ser extraído.
• • Los nodos de una cola se eliminan solo
desde el principio (cabeza) de la misma y se
insertan sólo al final (cola) de ésta.

11
Caracteristicas de Colas
o Las colas no existen como o La particularidad de una cola
estructuras de datos es el hecho de que solo
estándar en los lenguajes de podemos acceder al primer y
programación. al último elemento de la
estructura. Así mismo, los
o Este tipo de estructura de elementos solo se pueden
datos se puede representar eliminar por el principio y
mediante el uso de arreglos solo se pueden añadir por el
o listas. final de la cola.
o La característica principal de
las colas es seguir el principio o Las colas son esenciales en
FIFO, lo que significa que el algoritmos como la búsqueda
primer elemento que se en amplitud (BFS), donde se
exploran nodos en un grafo
añade a la cola es el primero en el orden en que fueron
en ser eliminado. descubiertos.

12
Ejemplos de
Pilas y Colas
Ejemplo de Colas
En el ejemplo de código siguiente se muestran varios métodos de la clase
genérica Queue<T>. El ejemplo de código crea una cola de cadenas con
capacidad predeterminada y usa el método Enqueue para poner en cola
cinco cadenas. Los elementos de la cola se enumeran, lo que no cambia el
estado de la cola. El método Dequeue se usa para quitar la cola de la primera
cadena. El método Peek se usa para examinar el siguiente elemento de la cola
y, a continuación, se usa el método Dequeue para quitarlo de la cola.
El método ToArray se usa para crear una matriz y copiar los elementos de
cola en ella y, a continuación, la matriz se pasa al constructor de Queue<T>
que toma IEnumerable<T>, creando una copia de la cola. Se muestran los
elementos de la copia.
Se crea una matriz dos veces el tamaño de la cola y el método CopyTo se
usa para copiar los elementos de matriz que comienzan en el centro de la
matriz. El constructor Queue<T> se usa de nuevo para crear una segunda
copia de la cola que contiene tres elementos NULL al principio.
El método Contains se usa para mostrar que la cadena "cuatro" está en la
primera copia de la cola, después de la cual el método Clear borra la copia y
la propiedad Count muestra que la cola está vacía.

14
Ejemplo de Pilas
LAMP Stack: Linux (sistema operativo) Apache (servidor web) MySQL (base de datos) PHP (lenguaje de
programación)
LAMP es un stack clásico utilizado para el desarrollo web. Es especialmente conocido por ser de código
abierto y flexible.
MEAN Stack: MongoDB (base de datos NoSQL) [Link] (framework de aplicaciones web) Angular
(framework de desarrollo frontend) [Link] (entorno de ejecución para JavaScript)
MEAN es un stack JavaScript completo, desde el lado del servidor hasta el cliente. Es utilizado para
construir aplicaciones web escalables y de una sola página.
MERN Stack:
MongoDB (base de datos NoSQL)
[Link] (framework de aplicaciones web)
React (biblioteca de desarrollo frontend)
[Link] (entorno de ejecución para JavaScript)
Similar a MEAN, pero con React en lugar de Angular, MERN es otro stack JavaScript popular para el
desarrollo web moderno.
Ruby on Rails:
Ruby (lenguaje de programación)
Rails (framework web)
Conocido por su elegancia y simplicidad, Ruby on Rails es un framework que sigue el principio de
convención sobre configuración, lo que acelera el desarrollo web.

15
Conclusion
• Las pilas y colas son formas básicas de organizar
datos, y cada una tiene su manera especial de
trabajar:
• Tanto las pilas como las colas son herramientas
poderosas que pueden simplificar problemas
complejos con código relativamente simple. La
elección entre usar una pila o una cola depende del
tipo de operación y del orden en que se necesitan
procesar los datos. Comprender estas estructuras de
datos mejora significativamente nuestras habilidades
como programadores.
• En resumen, las pilas, colas y listas son herramientas
para organizar y manejar datos, y cada una tiene su
uso dependiendo de cómo quieras trabajar
con la información.

16
Gracias

[Link]
[Link]
[Link]
b3#:~:text=Las%20pilas%20y%20colas%20son,mediante%20vectores%20o%20listas%20enlaz
adas.
[Link]
[Link]#:~:text=Las%20pilas%20y%20las%20bater%C3%ADas,qu%C3%ADmica%
20de%20la%20pila%20el%C3%A9ctrica.

También podría gustarte