mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-12-08 19:06:00 +00:00
27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
# Stack
|
|
|
|
Na ciência da computação, um **stack** é uma estrutura de dados abstrata
|
|
que serve como uma coleção de elementos com duas operações principais:
|
|
|
|
* **push**, pela qual adiciona um elemento à coleção, e
|
|
* **pop**, pela qual remove o último elemento adicionado.
|
|
|
|
A ordem em que os elementos saem de um _stack_ dá origem ao seu
|
|
nome alternativo, LIFO (last in, first out). Adicionalmente, uma
|
|
espiar a operação pode dar acesso ao topo sem modificar o _stack_.
|
|
O nome "stack" para este tipo de estrutura vem da analogia de
|
|
um conjunto de itens físicos empilhados uns sobre os outros,
|
|
o que facilita retirar um item do topo da pilha, enquanto para chegar a
|
|
um item mais profundo na pilha pode exigir a retirada de
|
|
vários outros itens primeiro.
|
|
|
|
Representação simples de um tempo de execução de pilha com operações
|
|
_push_ e _pop_.
|
|
|
|

|
|
|
|
## Referências
|
|
|
|
- [Wikipedia](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))
|
|
- [YouTube](https://www.youtube.com/watch?v=wjI1WNcIntg&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8&index=3&)
|