Quais seriam as vantagens unicas do STACK?

5 respostas Resolvido
java
J

Galera, tenho algum tipo de ganho único ao utilizar stack? alguma situação onde devo recorrer a ele não a outro? obrigado.

5 Respostas

A

Perguntando para um amigo meu: O que é stack?

J

Tem um amigo meu que também tá perguntando

J

Stack é um algoritmo, chamado aqui de pilha. No caso, o ultimo a entrar vai ser o primeiro a sair. Dentro da lib. java.util, ele já te trais este algoritmo pronto.

Funcionando da seguinte maneira, com o método push inserimos, com o método pop, retiramos. Seguindo a imagem.

Ao modo que eu vou inserindo, um por cima do outro, sempre adicionando por ultimo e retirando por ultimo. Como pode ser possível ver na imagem. Portanto, não é possível retirar o número 1, sem retirar o 2,3,4 e 5.

A

Ah, o pronome masculino me confundiu. É mais usual chamar pilhas de estrutura de dado ao invés de algoritmo.

Mas assim, com esse comportamento bem específico (último a entrar, primeiro a sair) acho que os casos de uso sao meio que auto-explicativos: quando precisar desse comportamento, use pilhas.

Na prática nao me lembro de ter usado pilhas, filas sao bem mais comuns.

T
Solucao aceita

A questão não é “ganho único”, mas sim usar a ferramenta adequada para o problema. Pilhas, filas e outras estruturas de dados são ferramentas, você as usa ou não conforme a situação pede.

Um caso clássico do uso de pilhas é chamado de pilha de chamada de função, e é usado para determinar a que ponto de execução um processo deve retornar depois que um processo ou sub-processo (método, função, etc) encerra. Diversos sistemas e linguagens de programação usam tal recurso de uma forma ou de outra.

Outro exemplo mais simples é a resolução do cálculo de expressões matemáticas, usando notação polonesa (reversa ou não). Inclusive, costuma ser um exercício interessante de estrutura de dados.

Abraço.

Criado 24 de abril de 2017
Ultima resposta 24 de abr. de 2017
Respostas 5
Participantes 4