Fixando os conceitos de Fila e Pilha com a ajuda do Bob Esponja

rodolfobueno

Rodolfo

Posted on January 15, 2021

Fixando os conceitos de Fila e Pilha com a ajuda do Bob Esponja

Opa.. iae, na paz?

Estou escrevendo esse artigo para compartilhar com vocês como foi que eu fixei de uma vez por todas os conceitos de Fila e Pilha na minha cabeça e nunca mais confundi suas particularidades.


Cenários em que você deve continuar lendo o artigo e confiar neste humilde desenvolvedor:

  • Se você não faz ideia do que signfica pilha e fila dentro do contexto de Estrutura de Dados =P
  • Se você se confunde todo para responder a maldita bendita pergunta 'Qual a diferença entre pilha e fila?'
  • Se você sua frio quando alguém te pergunta se pilha é LIFO e fila é FIFO
  • Se você ficou curioso para entender de onde eu tirei essa relação do Bob Esponja com Estrutura de Dados =B
  • Se você está 'de boa' por aí e quer ler por ler mesmo HAHA =]


Se você resolveu continuar então está na hora de te aprensentar o personagem que irá nos ajudar a fixar esses conceitos e nunca mais esquecermos. Com vocês: BOB ESPONJAAAAAAA =]



E de onde surgiu essa maluquice?

Bom, certa vez eu estava fazendo uma entrevista com uma Tech Recruter para uma vaga de Desenvolvedor e ela me perguntou o seguinte "Rodolfo, você consegue me explicar o que é e como funcionam pilhas e filas?"

No primeiro momento eu fiquei: "Uma pergunta técnica no meio de uma entrevista com uma recrutadora?" "Qual a pegadinha? Será que ela realmente sabe o que é certo ou errado?" "Pq uma pergunta tão básica?" ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/fgeumbqd1t5lizzkws7q.gif)



Todos esses questionamentos somados ao fato de estar nervoso fez com que os conceitos sumissem da minha cabeça e gaguejando eu disse apenas "São estruturas de dados bem famosas!" e ela respondeu com um simples "Humnn, ok!!!".

A entrevista continuou com algumas outras perguntas simples e no final acabou que eu passei para a próxima fase. Não conseguia ficar feliz pois não conseguia esquecer minha resposta 'lixo' para aquela pergunta tão tranquila. Como eu pude esquecer conceitos tão básicos? Fila é LIFO ou FIFO mesmo? Eu não sabia era de mais nada naquele momento.

Como eu já estava estressado resolvi assistir um pouco de televisão e lá estava passando o nosso querido Bob Esponja. Assistindo o desenho eu exclamei sozinho em casa:

"É CLARO que eu conheço esses conceitos 'uai' e inclusive é tão fácil que eu conseguiria explicar utilizando o Bob Esponja e seu mundo como exemplo!" hahaha, será mesmo? vou tentar =]

Antes, um pouco de teoria:

Filas e pilhas são esturutras de dados do tipo Lista Linear. São compostas por elementos de um mesmo tipo de dado e que estão organizados de maneira sequencial. Não necessariamente fisicamente em sequência mas possuindo ordem lógica entre eles.

Podemos fazer diversas operações em listas lineares:

  • Criação de uma lista
  • Inserção e exclusão de um elemento
  • Acesso a um elemento
  • Combinação de listas em uma só
  • Destruição de uma lista
  • Outros

A forma como as operações de acesso, inserção e exclusão em uma lista linear são executadas é que vão determinar o seu tipo. É exatamente nesse ponto que nosso jogo começa \o/

O conceito implementado por uma pilha é o de LIFO “Last-in, First-out” ou FILO "First-in, last-out" traduzindo para o nosso "portuga", o último elemento a entrar na lista é o primeiro a sair.

Enquanto uma fila implementa o conceito FIFO “First-in, First-out”. Ou seja, o primeiro elemento que entra na lista é o primeiro a sair.

Na teoria é isso, muito simples né? Para fixar que tal exemplificarmos com cenários do mundo ficticio da fenda do biquini ? =]

PILHA

Sempre que te perguntarem sobre Pilha lembre-se do Bob Esponja lavando pratos e o quanto é cômico ver uma ESPONJA lavando vasilhas com um PANO kkkkkk.

Como funciona o processo de lavar pratos?

  • Um espaço é reservado para armazenar/empilhar os pratos
  • O primeiro prato que chega é inserido no espaço reservado
  • Todo novo prato sujo é inserido na parte de cima (topo) da pilha de pratos
  • O prato que será lavado sempre será o do topo da pilha

Ou seja, o ÚLTIMO (last in) prato que entrar na pilha de pratos do Bob esponja será o primeiro que ele irá lavar (first out).

FILA

Quando te perguntarem sobre Fila é só lembrar da fila que é formada para comprar um delicioso Hambúrguer de Siri.

Como funciona?

  • Um espaço é reservado para que a fila seja criada na porta do Siri Cascudo
  • O primeiro interessado chega ao local e é inserido no início da fila
  • Todo novo interessado que chega é inserido no final da fila
  • Quem estiver no início da fila será liberado para entrar no restaurante e comprar seu lanche.

Ou seja, quem chegar primeiro na porta do Siri Cascudo será o PRIMEIRO da fila (First in) e consequentemente o PRIMEIRO a comprar o seu lanche (First out).



Consegui ou não explicar ? Aposto que você nunca mais vai esquecer HAHAHAHA (seja por bem ou por mal lol)

see ya
\o

💖 💪 🙅 🚩
rodolfobueno
Rodolfo

Posted on January 15, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related