dev-resources.site
for different kinds of informations.
Estruturas de Dados: Pilha
Published at
12/9/2024
Categories
dsa
computerscience
beginners
braziliandevs
Author
Alex Reis
É um tipo especial de lista linear, com a restrição que inserções e remoções ocorrem na mesma extremidade.
Alocação Sequencial
Temos um ponteiro chamado topo para indicar o topo da pilha,ou seja, o elemento da extremidade. Os algoritmos abaixo implementam inserção e remoção na pilha, considerando uma mmória de M posições.
Inserção na pilha
se topo != M então
topo := topo+1
P[topo] := novo-valor
senão *overflow*
Remoção na pilha
se topo != 0 então
valor-recuperado := P[topo]
topo := topo - 1
senão *underflow*
A complexidade das operações é O(1).
Alocação Encadeada
Considerando-se listas simplesmente encadeadas (sem nó-cabeça), o topo da pilha é o primeiro nó da lista, apontado por uma variável ponteiro topo. Se a pilha estiver vazia então topo = nulo.
Inserção
// alocar pt
pt->.info := novo-valor
pt->.prox := topo
topo := pt
Remoção
se topo != nulo então
pt := topo
topo := topo->.prox
valor-recuperado := pt->.info
// desalocar pt
senão *underflow*
As complexidades dessas operações são constantes, ou seja, O(1).
Articles
12 articles in total
Estruturas de Dados: Heap
read article
Estruturas de Dados: Árvores
read article
Estruturas de Dados: Pilha
currently reading
Estruturas de Dados: Fila
read article
Estruturas de Dados: Lista
read article
Docker para iniciantes
read article
Streams do Java
read article
Git: Commands beginners don't know
read article
O básico de Threads no Java
read article
Entendendo os pilares da Programação Orientada a Objetos
read article
Entenda o que são paradigmas de programação
read article
Garbage Collector (O coletor de lixo do Java)
read article
Featured ones: