Pila vs montón
La pila es una lista ordenada en la que la inserción y la eliminación de los elementos de la lista solo se pueden hacer en un extremo llamado TOP. Debido a esta razón, la pila se considera la última en la estructura de datos (LIFO). Heap es una estructura de datos especial que se basa en los árboles y satisface una propiedad especial llamada propiedad del montón. Además, un montón es un árbol completo, lo que significa que no hay espacios entre las hojas del árbol i.mi. En un árbol completo, cada nivel se llena antes de agregar un nuevo nivel al árbol y los nodos en un nivel dado se llenan de izquierda a derecha.
Que es pila?
Como se mencionó anteriormente, Stack es una estructura de datos en la que se agregan los elementos y se eliminan de un solo extremo llamado Top. Las pilas permiten solo dos operaciones fundamentales llamadas Push and Pop. La operación de empuje agrega un nuevo elemento a la parte superior de la pila. La operación POP elimina un elemento de la parte superior de la pila. Si la pila ya está llena, cuando se realiza una operación de empuje, se considera un desbordamiento de la pila. Si se realiza una operación POP en una pila ya vacía, se considera como una pila de flujo subterráneo. Debido al pequeño número de operaciones que podrían realizarse en una pila, se considera una estructura de datos restringida. Además, de acuerdo con la forma en que se definen las operaciones de empuje y POP, está claro que los elementos que se agregaron por última vez salen de la pila. Por lo tanto, la pila se considera una estructura de datos LIFO.
Que es el montón?
Como se mencionó anteriormente, el montón es un árbol completo que satisface la propiedad del montón. La propiedad del montón establece que, si Y es un nodo infantil de x, el valor almacenado en el nodo x debe ser mayor o igual al valor almacenado en el nodo y (i.mi. valor (x) ≥ valor (y)). Esta propiedad implica que el nodo con el mayor valor siempre se colocaría en la raíz. Un montón construido usando esta propiedad se llama un montón. Hay otra variación de la propiedad del montón que establece el reverso de esto. (i.mi. valor (x) ≤ valor (y)). Esto implica que el nodo con el valor más pequeño siempre se colocaría en la raíz, por lo tanto, llamado mínimo de tiempo. Se realizan una amplia gama de operaciones en montones, como encontrar mínimo (en el montón de mínimos) o máximo (en el máximo-interior), eliminando el mínimo (en el montón min) o el máximo (en el montón máximo), aumentando (en máximo -Heaps) o disminución (en mínimas de mínimas), etc.
¿Cuál es la diferencia entre pila y montón??
La principal diferencia entre pilas y montones es que, si bien la pila es una estructura de datos lineal, el montón es una estructura de datos no lineal. Stack es una lista ordenada que sigue la propiedad LIFO, mientras que el montón es un árbol completo que sigue la propiedad del montón. Además, Stack es una estructura de datos restringida que admite solo un número limitado de operaciones como Push and Pop, mientras que Heap admite una amplia gama de operaciones, como encontrar y eliminar el mínimo o máximo, aumentando o disminuyendo la clave y la fusión.