2. STACK
Una pila es una estructura de datos lineal que sigue el principio de Last In First Out
(LIFO). Esto significa que el último elemento insertado dentro de la pila se elimina primero.
Puede pensar en la estructura de datos de la pila como la pila de placas sobre otra.
3. C O N S I D E R A D A C O M O U N A E S T R U C T U R A
D E D A T O S L I N E A L , O M Á S
A B S T R A C T A M E N T E U N A C O L E C C I Ó N
S E C U E N C I A L , L A S O P E R A C I O N E S P U S H Y
P O P O C U R R E N S O L O E N U N E X T R E M O
D E L A E S T R U C T U R A , C O N O C I D O C O M O
L A P A R T E S U P E R I O R D E L A P I L A . E S T A
E S T R U C T U R A D E D A T O S P E R M I T E
I M P L E M E N T A R U N A P I L A C O M O
U N A L I S T A V I N C U L A D A
I N D I V I D U A L M E N T E Y U N P U N T E R O A L
E L E M E N T O S U P E R I O R . S E P U E D E
I M P L E M E N T A R U N A P I L A P A R A T E N E R
U N A C A P A C I D A D L I M I T A D A . S I L A P I L A
E S T Á L L E N A Y N O C O N T I E N E
S U F I C I E N T E E S P A C I O P A R A A C E P T A R
U N A E N T I D A D Q U E S E V A A I N S E R T A R ,
S E C O N S I D E R A Q U E L A P I L A E S T Á E N
U N E S T A D O D E D E S B O R D A M I E N T O . L A
O P E R A C I Ó N P O P Q U I T A U N E L E M E N T O
D E L A P A R T E S U P E R I O R D E L A P I L A
4. Existen algunas operaciones básicas que nos permiten
realizar diferentes acciones sobre una pila.
• Push: Agregar un elemento a la parte superior de una
pila
• Pop: Quitar un elemento de la parte superior de una
pila
• IsEmpty: Compruebe si la pila está vacía
• IsFull: Compruebe si la pila está llena
• Peek: Obtener el valor del elemento superior sin
eliminarlo
FUNCIONES PRINCIPALES
7. QUEUE
Una cola es una estructura de datos útil en la programación. Es similar a la cola de entradas
fuera de una sala de cine, donde la primera persona que entra en la cola es la primera
persona que obtiene la entrada.
La cola sigue la regla First In First Out (FIFO): el elemento que entra primero es el elemento
que sale primero
frente de la cola sin eliminarlo
8.
9. Principales funciones:
Una Queue es un objeto (una estructura de datos abstracta - ADT) que permite las
siguientes operaciones:
Enqueue: Agregar un elemento al final de la cola
Dequeue: Quitar un elemento de la parte delantera de la cola
IsEmpty: Compruebe si la cola está vacía
IsFull: Compruebe si la cola está llena
Peek: Obtener el valor del
FUNCIONES PRINCIPALES
11. PRIORITY
QUEUE
Una cola de prioridad es un tipo especial de cola en la que cada elemento está asociado a
un valor de prioridad. Y, los elementos se sirven sobre la base de su prioridad. Es decir, los
elementos de mayor prioridad se sirven primero.
Sin embargo, si se producen elementos con la misma prioridad, se sirven de acuerdo con su
orden en la cola.
Generalmente, el valor del elemento en sí se considera para asignar la prioridad. Por ejemplo
El elemento con el valor más alto se considera el elemento de mayor prioridad. Sin embargo,
en otros casos, podemos asumir el elemento con el valor más bajo como el elemento de
mayor prioridad.
También podemos establecer prioridades de acuerdo a nuestras necesidades.
12.
13. PRINCIPALES
FUNCIONES
Esto es un ejemplo en una estructura de datos de montón
Insertar:
La inserción de un elemento en una cola de prioridad (max-heap) se realiza mediante
los siguientes pasos.
15. PRINCIPALES
FUNCIONES
Echar un vistazo desde la cola de prioridad (Buscar máximo/min)
La operación Peek devuelve el elemento máximo de Max Heap o el elemento mínimo
de Min Heap sin eliminar el nodo
Extraer-Max/Min de la cola de prioridad
Extract-Max devuelve el nodo con el valor máximo después de eliminarlo de un montón
máximo, mientras que Extract-Min devuelve el nodo con el valor mínimo después de
eliminarlo del montón mínimo.
16. IMPLEMENTACIÓ
N
Clase:
La cola de prioridad se puede
implementar mediante una matriz,
una lista vinculada, una estructura de
datos de montón o un árbol de
búsqueda binario. Entre estas
estructuras de datos, la estructura de
datos de montón proporciona una
implementación eficiente de las colas
de prioridad.
18. DEQUE
(Usualmente pronunciado como "deck")Es un acrónimo irregular de double-
ended queue. Las colas de doble extremo son contenedores de secuencia con
tamaños dinámicos que se pueden expandir o contraer en ambos extremos (ya
sea su parte frontal o posterior). Las bibliotecas específicas pueden
implementar deques de diferentes maneras, generalmente como alguna forma de
matriz dinámica. Por lo tanto, no sigue la regla FIFO (First In First Out).
Pero en cualquier caso, permiten acceder directamente a los elementos
individuales a través de iteradores de acceso aleatorio, con almacenamiento
manejado automáticamente expandiendo y contratando el contenedor según sea
necesario. Por lo tanto, proporcionan una funcionalidad similar a los vectores,pero
con una inserción y eliminación eficientes de elementos también al comienzo de la
secuencia, y no solo al final.
19.
20. PRINCIPALES
FUNCIONES
Insertar en la parte delantera
Esta operación agrega un elemento en la parte delantera.
Insertar en la parte trasera
Esta operación añade un elemento a la parte trasera.
Eliminar del frente
La operación elimina un elemento del frente.
Eliminar de la parte trasera
Esta operación elimina un elemento de la parte trasera.
Marque Vacío
Esta operación comprueba si el deque está vacío. Si , el deque está vacío.front = -1
Verifique completo
Esta operación comprueba si el deque está lleno. Si y OR , el deque está lleno.
24. AVL TREE
El árbol AVL es un árbol de búsqueda binario autoequilibrado en el que cada nodo mantiene
información adicional llamada factor de equilibrio cuyo valor es -1, 0 o +1.
El árbol AVL recibió su nombre de su inventor Georgy Adelson-Velsky y Landis.
El factor de equilibrio de un nodo en un árbol AVL es la diferencia entre la altura del subárbol
izquierdo y la del subárbol derecho de ese nodo.
Factor de equilibrio = (Altura del subárbol izquierdo - Altura del subárbol derecho) o (Altura
del subárbol derecho - Altura del subárbol izquierdo)
La propiedad de autoequilibrio de un árbol avl se mantiene por el factor de equilibrio. El valor
del factor de equilibrio siempre debe ser -1, 0 o +1.
25.
26. PRINCIPALES
FUNCIONES
1. Rotación de los subárboles en un árbol AVL
En la operación de rotación, las posiciones de los nodos de un subárbol se intercambian.
Hay tres tipos de rotaciones:
a) Girar a la izquierda
En la rotación izquierda, la disposición de los nodos de la izquierda se transforma en la disposición del
nodo derecho.
b) Girar a la derecha
En la rotación izquierda, la disposición de los nodos de la izquierda se transforma en la disposición del
nodo derecho.
c) Girar izquierda-derecha y derecha-izquierda
En la rotación izquierda-derecha, los arreglos se desplazan primero a la izquierda y luego a la derecha.
2. Algoritmo para insertar un nuevo nodo
A siempre se inserta como un nodo hoja con un factor de equilibrio igual a 0.
3. Algoritmo para eliminar un nodo
Un nodo siempre se elimina como un nodo hoja. Después de eliminar un nodo, los factores de equilibrio de los nodos
se cambian. Para reequilibrar el factor de equilibrio, se realizan rotaciones adecuadas.