0% acharam este documento útil (0 voto)
21 visualizações2 páginas

Estruturas de Dados: Pilha e Fila

O documento discute estruturas de dados, focando em pilhas e filas. A pilha opera no princípio LIFO (Last In, First Out), enquanto a fila segue o princípio FIFO (First In, First Out). Exemplos de uso incluem a pilha de chamadas em programação e a navegação em navegadores para voltar e avançar páginas.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
21 visualizações2 páginas

Estruturas de Dados: Pilha e Fila

O documento discute estruturas de dados, focando em pilhas e filas. A pilha opera no princípio LIFO (Last In, First Out), enquanto a fila segue o princípio FIFO (First In, First Out). Exemplos de uso incluem a pilha de chamadas em programação e a navegação em navegadores para voltar e avançar páginas.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Pensamento computacional 13-06-24

Pilha

Em um array, é possível utilizar funções próprias para manipular elementos em qualquer


posição da lista. Porém, há situações (veremos exemplos mais adiante) onde é desejável mais
controle sobre as operações que podem ser feitas na estrutura. Aí entra a implementação de
estruturas de dados como a pilha (stack) e a fila (queue).

A pilha é uma estrutura de dados que, assim como o array, é similar a uma lista. O
paradigma principal por trás da pilha é o LIFO - Last In, First Out, ou “o último a entrar é o
primeiro a sair”, em tradução livre.

Para entendermos melhor o que significa isso, pense em uma pilha de livros ou de pratos.
Ao empilharmos livros, por exemplo, o primeiro livro a ser retirado da pilha é
obrigatoriamente o último que foi colocado; se tentarmos retirar o último livro da pilha, tudo
vai desabar. Ou seja, o último livro a ser empilhado é o primeiro a ser retirado.

Abstraindo este princípio para código, percebe-se que há apenas dois métodos possíveis
para manipular os dados de uma pilha: 1) inserir um elemento no topo da pilha e 2) remover
um elemento do topo da pilha.

Ao contrário do array, as linguagens de programação normalmente não têm métodos


nativos para criação e manipulação de pilhas. Porém, é possível usar métodos de array para a
implementação de pilhas.

Usos

O caso de uso mais famoso da pilha é a call stack ou pilha de chamadas de um programa
que está sendo executado: a ordem de execução dos processos “chamados” por um programa
via funções ou métodos obedece ao princípio de pilha.

Outro recurso que utilizamos todos os dias e que utiliza pilhas para funcionar é o mecanismo
de “voltar” e “avançar” páginas dos navegadores (representado normalmente por setas para a
esquerda e direita). Os endereços visitados vão se empilhando; ao chamarmos a função de
“voltar”, o último endereço visitado - ou seja, o que está no topo da pilha - é o primeiro a ser
visualizado.

Fila

A fila tem uma estrutura semelhante à pilha, porém com uma diferença conceitual
importante: o paradigma por trás da fila é o FIFO - First In, First Out, ou “o primeiro a entrar
é o primeiro a sair”, em tradução livre.

Pense em uma fila de bilheteria, por exemplo. A pessoa que chegou antes vai ser atendida
(e comprar seu ingresso) antes de quem chegou depois e ficou atrás na fila. A fila como
estrutura de dados segue o mesmo princípio.

Sendo assim, também há somente duas formas de se manipular uma fila: 1) Inserir um
elemento no final da fila e 2) remover um elemento do início da fila.

Você também pode gostar