Diferencia entre pila y array

Pila : una pila es una estructura de datos lineal en la que los elementos se pueden insertar y eliminar solo de un lado de la lista, llamado la parte superior . Una pila sigue el principio LIFO (Last In First Out), es decir, el último elemento insertado es el primero en salir. La inserción de un elemento en una pila se denomina operación de inserción y la eliminación de un elemento de la pila se denomina operación de extracción . En la pila, siempre hacemos un seguimiento del último elemento presente en la lista con un puntero llamado top
La representación esquemática de la pila se da a continuación: 

 

Array : una array es una colección de elementos almacenados en ubicaciones de memoria contiguas. La idea es almacenar varios artículos del mismo tipo juntos. Esto facilita el cálculo de la posición de cada elemento simplemente agregando un desplazamiento a un valor base, es decir, la ubicación de memoria del primer elemento de la array (generalmente indicado por el nombre de la array). 
La representación esquemática de Array se da a continuación: 

 
 
Diferencia entre estructuras de datos de pila y array:

Base de comparación                          pilas Formación
Definición Stack es una estructura de datos lineal representada por una colección secuencial de elementos en un orden fijo Una array es una colección de valores de datos relacionados llamados elementos, cada uno identificado por una array indexada
Principio Las pilas se basan en el principio LIFO, es decir, el último elemento insertado es el primer elemento que sale de la lista. En la array, los elementos pertenecen a los índices, es decir, si desea ingresar al cuarto elemento, debe escribir el nombre de la variable con su índice o ubicación dentro del corchete, por ejemplo, arr [4]
Operaciones La inserción y el borrado en las pilas tienen lugar solo desde un extremo de la lista llamado la parte superior. La inserción y la eliminación en la array se pueden realizar en cualquier índice de la array.
Almacenamiento La pila tiene un tamaño dinámico. La array tiene un tamaño fijo.
Tipos de datos La pila puede contener elementos de diferentes tipos de datos. La array contiene elementos del mismo tipo de datos.
Métodos Solo podemos hacer una búsqueda lineal. Podemos hacer búsquedas tanto lineales como binarias.
Acceso a los datos No se permite el acceso aleatorio a elementos en pilas Se permite el acceso aleatorio a los elementos en las arrays
Implementación Podemos implementar una pila usando la array No podemos implementar una array usando stack
Métodos Hay un número limitado de operaciones que se pueden realizar en una pila: push, pop, peek, etc. Es rico en métodos u operaciones que se pueden realizar en él, como ordenar, atravesar, invertir, empujar, hacer estallar, etc.
Punteros Solo tiene un puntero: la parte superior. Este puntero indica la dirección del elemento superior o el último insertado de la pila. En las arrays, la memoria se puede asignar en tiempo de compilación y también se conoce como asignación de memoria estática.

 Análisis de Complejidad:

Operación Pila Operación  Formación
empujar O(1) Insertar En)
estallido O(1) Borrar En)
ojeada O(1) Acceso O(1)
esta vacio O(1) El recorrido En)

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *