Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMESTRE: 3. GRUPO: B.
FECHA: 03/11/2021.
pág. 1
Introducción.
pág. 2
Índice.
Portada ................................................................................................................................................ 1
Introducción. ...................................................................................................................... 2
Desarrollo. ......................................................................................................................... 4
3.1 Pilas. ............................................................................................................................ 4
Pila vacía. .......................................................................................................................... 4
Pila llena. ........................................................................................................................... 6
Pila con elementos. ........................................................................................................... 7
3.1.1 Representación en memoria. .................................................................................... 9
3.1.2 Operaciones básicas................................................................................................. 9
Insertar (push). .................................................................................................................. 9
Borrar (pop). .................................................................................................................... 10
3.1.3 Aplicaciones. ........................................................................................................... 10
3.2 Colas. ........................................................................................................................ 11
Cola vacía........................................................................................................................ 11
Cola llena......................................................................................................................... 12
Cola con elementos. ........................................................................................................ 14
Aplicaciones. ................................................................................................................... 15
Ejemplo de pila. ............................................................................................................... 16
Código de la clase PracticeBatteries. ............................................................................... 16
Código de la calse Main................................................................................................... 17
Resultados....................................................................................................................... 17
Segundo ejemplo de pila. ................................................................................................ 19
Código de la clase PracticeBatteries2. ............................................................................. 19
Código de la clase Main................................................................................................... 21
Resultados....................................................................................................................... 22
Ejemplo de cola. .............................................................................................................. 23
Código del programa. ...................................................................................................... 23
Código de la clase PracticeQueues. ................................................................................ 23
Código de la clase Main................................................................................................... 24
Resultados....................................................................................................................... 25
Conclusión. ...................................................................................................................... 26
Bibliografías. .................................................................................................................... 27
pág. 3
Desarrollo.
3.1 Pilas.
Pila vacía.
Una pila vacía no contiene elemento alguno dentro de la estructura y el tope
de la misma apunta a nulo.
pág. 4
En una pila vacía no es posible realizar POP, debido a que la estructura no
contiene información.
Cuando la pila está vacía sí se puede realizar PUSH, en tal caso, el nodo que
entra a la estructura sería el único elemento de la pila y el tope apuntaría a él.
pág. 5
Pila llena.
Por definición, una estructura de datos tipo pila tiene un tamaño fijo. Cuando
la pila ha almacenado el número máximo de nodos definido, se dice que la pila está
llena.
pág. 6
Cuando la pila está llena se puede hacer POP de la información contenida
en la estructura.
En tal caso, el tope apunta al elemento siguiente de la estructura.
pág. 7
En una pila con elementos se pueden realizar PUSH. En tal caso, el tope
apuntara al elemento que se insertó y el nuevo elemento apunta al elemento al que
apuntaba tope.
En una pila con elementos es posible realizar POP. En tal caso, el nodo al
que apunta tope se extrae y ahora tope apunta al elemento al que apuntaba éste
(sucesor).
pág. 8
3.1.1 Representación en memoria.
• Arreglos.
• Listas.
Insertar (push).
pág. 9
Borrar (pop).
Cuando se elimina un elemento de la pila, el elemento que se borra es el
elemento situado en la cima de la pila, el que menos tiempo lleva en la estructura.
Las operaciones a realizar son muy simples, avanzar el puntero que apunta
a la cima y extraer la cima anterior.
Si aplicamos la operación pop a la pila de 4 elementos representada arriba el
resultado sería:
3.1.3 Aplicaciones.
pág. 10
3.2 Colas.
La cola (o queue) es una estructura de datos lineal, en la cual el elemento
obtenido a través de la operación ELIMINAR está predefinido y es el que se
encuentra al inicio de la estructura.
La cola implementa la política First-In, First-Out (FIFO), esto es, el primer
elemento que se agregó es el primero que se elimina.
La cola es una estructura de datos de tamaño fijo y cuyas operaciones se
realizan por ambos extremos; permite INSERTAR elementos al final de la estructura
y permite ELIMINAR elementos por el inicio de la misma. La operación de
INSERTAR también se le llama ENCOLAR y la operación de ELIMINAR también se
le llama DESENCOLAR.
Para poder diseñar un algoritmo que defina el comportamiento de una COLA
se deben considerar 3 casos para ambas operaciones (INSERTAR y ELIMINAR):
Cola vacía.
La cola posee dos referencias, una al inicio (HEAD) y otra al final (TAIL) de
la cola. En una cola vacía ambas referencias (HEAD y TAIL) apuntan a nulo.
pág. 11
En una cola vacía sí se pueden encolar elementos, en este caso las
referencias HEAD y TAIL apuntan al mismo elemento, que es el único en la
estructura.
Cola llena.
pág. 12
En una cola llena no es posible encolar más elementos.
pág. 13
Cola con elementos.
Una cola que contiene elementos (sin llegar a su máximo tamaño) representa
el caso general de la estructura.
pág. 14
Así mismo, se pueden encolar elementos en una cola mientras la referencia
al final (TAIL) de la estructura no sea mayor al tamaño máximo de la misma. Cuando
se encola un elemento, el nodo al que apunta TAIL tiene como sucesor el nuevo
elemento y la referencia a TAIL apunta al nuevo elemento.
Aplicaciones.
pág. 15
Ejemplo de pila.
Se codifica en java un ejemplo sencillo de pila para así aprender cuales son
los métodos de la calse Stack.
El proyecto tiene como nombre PracticeBatteries que cuenta con dos clases
las cuales son:
• PracticeBatteries.
• Main.
package practiceBatteries;
/**
*
* @author Brandon Omar Morales Solís version 1.0
*/
public class PracticeBatteries {
//Se instancia el objeto pila (batterie) para poder utilizar los métodos.
Stack batterie = new Stack();
pág. 16
JOptionPane.showMessageDialog(null, "Se elimina: " + batterie.pop());
//["Mundo", ""]
//["Mundo"] "Mundo" pasaría a ser el ultimo elemento debido a que se
//ha elimindado "Hola"
JOptionPane.showMessageDialog(null, "Y queda solo: " + batterie.peek());
}
//Método para saber si la pila está vacia retorna true o false según sea el caso
public void empity() {
JOptionPane.showMessageDialog(null, "¿La pila está vacia? :
"+batterie.empty());
}
}
package practiceBatteries;
/**
*
* @author Brandon Omar Morales Solís version 1.0
*
*/
public class Main {
Resultados.
pág. 17
Al dejar vacía la pila.
pág. 18
Segundo ejemplo de pila.
package practiceBatteries2;
/**
*
* @author Brandon Omar Morales Solís version 1.1
*/
public class PracticeBatteries2 {
//Atributos
String array[];
int maxSize;
int stop;
public PracticeBatteries2() {
maxSize = 0;
stop = 0;
array = new String[maxSize];
}
public PracticeBatteries2(int n) {
maxSize = n;
array = new String[maxSize];
}
pág. 19
if (stop == 0) {
return true;
} else {
return false;
}
}
pág. 20
}
return temp;
}
import javax.swing.JOptionPane;
/**
*
* @author Brandon Omar Morales Solís version 1.1
*/
public class Main {
pág. 21
Resultados.
pág. 22
Ejemplo de cola.
//Libreria para poder utilizar métodos que nos sirven para poder
//aplicar las colas
import java.util.LinkedList;
import javax.swing.JOptionPane;
/**
*
* @author Brandon Omar Morales Solís versión 1.1 offer, poll
*/
public class PracticeQueues {
//Atributos
LinkedList queues;
String window;
//Método constructor
public PracticeQueues() {
queues = new LinkedList();
window = "";
}
pág. 23
for (byte i = 1; i <= 10; i++) {
queues.offer(i);
}
}
JOptionPane.showMessageDialog(null, window);
}
package practiceQueues;
/**
*
* @author Brandon Omar Morales Solís versión 1.1
*/
public class Main {
pág. 24
queues.poll();
}
}
Resultados.
pág. 25
Conclusión.
Al haber hecho esta investigación puedo decir que las estructuras lineales
siempre tienen la principal característica de que existe un sucesor y predecesor.
También puedo decir que las pilas y las colas son lo contrario uno del otro ya
que las pilas solo te retornan el último elemento mientras que las colas solo retornan
el primer elemento.
pág. 26
Bibliografías.
pág. 27