Questões de Pilhas (Algoritmos e Estrutura de Dados)

Limpar Busca

Estruturas de dados são formas organizadas de armazenar, gerenciar e manipular dados em um sistema computacional, permitindo que esses dados sejam acessados e processados de maneira eficiente. Elas definem não apenas como os dados são armazenados na memória, mas também como podem ser acessados, manipulados e processados para resolver problemas computacionais. A estrutura de dados que segue o princípio LIFO (Last In, First Out) é a

  • A árvore.
  • B pilha.
  • C fila.
  • D struct.
  • E hash.

As estruturas de dados na ciência da computação são estratégias para organizar, armazenar e gerenciar dados de maneira prática, viabilizando que o acesso e a manipulação desses dados aconteçam de forma performática e eficaz. Elas são fundamentais para o desenvolvimento de algoritmos e aplicações do cotidiano, pois determinam como os dados serão organizados na memória e como serão acessados ou modificados da melhor forma possível durante a execução do código. Há algumas estruturas de dados utilizadas no mercado de trabalho, e uma dessas estruturas de dados tem o seguinte comportamento: o último elemento a ser inserido é o primeiro a ser removido. Qual estrutura de dados é esta?

  • A Pilha.
  • B Fila.
  • C Lista.
  • D Árvore.

Você deve implementar duas pilhas em um único array A[1…n] de modo que nenhuma das pilhas transborde, a menos que o número total de elementos nas duas pilhas juntas seja n. Considerando que as operações PUSH e POP sejam executadas em tempo O(1), assinale a opção cuja estratégia descrita permite essa implementação de forma eficiente.

  • A Usando-se dois ponteiros, um começando no início do array para a primeira pilha e um começando no final do array para a segunda pilha, movendo-se em direção um ao outro à medida que os elementos são inseridos.
  • B Usando-se um ponteiro no início do array para ambas as pilhas, inserindo elementos na primeira pilha e removendo da segunda pilha sempre que necessário
  • C Dividindo-se o array em duas partes iguais e atribuindo a primeira pilha à metade esquerda e a segunda pilha à metade direita. Os elementos entre as duas metades devem ser movidos conforme necessário.
  • D Usando-se um array circular com ambas as pilhas crescendo em direções opostas e garantindo-se que os elementos sejam sempre inseridos na pilha com mais espaço disponível.
  • E Implementando-se a primeira pilha utilizando a metade esquerda do array e a segunda pilha usando a metade direita, mas os tamanhos das pilhas podem mudar dinamicamente.

Uma escola está implementando um sistema de gerenciamento de tarefas para os computadores do laboratório, considerando as seguintes estratégias:

- Tarefas de alta prioridade são adicionadas a uma estrutura na qual a última tarefa inserida é a primeira a ser resolvida.
- Tarefas comuns seguem uma estrutura na qual as tarefas são resolvidas na ordem em que chegaram.

Com base nas definições de Pilhas e Filas, qual das alternativas relaciona CORRETAMENTE a estrutura de dados utilizada para cada tipo de tarefa?

  • A Tarefas de alta prioridade são armazenadas em uma fila (FIFO), enquanto tarefas comuns são armazenadas em uma pilha (LIFO).
  • B Tarefas de alta prioridade são armazenadas em uma pilha (LIFO), enquanto tarefas comuns são armazenadas em uma fila (FIFO).
  • C Ambas as tarefas são armazenadas em uma fila (FIFO), mas as tarefas de alta prioridade têm acesso privilegiado à cabeça da fila (FIFO).
  • D Ambas as tarefas são armazenadas em uma pilha (LIFO), mas as tarefas comuns esperam até que todas as tarefas de alta prioridade sejam resolvidas.
  • E Tarefas de alta prioridade são armazenadas em uma fila (FIFO), enquanto tarefas comuns são armazenadas em uma estrutura de dados híbrida.

Estruturas de dados são fundamentais na ciência da computação para organizar e processar informações de forma eficiente. A pilha (stack) é uma estrutura de dados que pode ser utilizada no controle de chamadas de funções e processamento de expressões. Sobre o funcionamento de uma pilha, assinale a afirmativa correta.

  • A São apropriadas apenas para armazenar números inteiros.
  • B Em uma pilha, elementos podem ser acessados diretamente pelo índice.
  • C O método pop() na linguagem Java é utilizado para inserir elementos no topo da pilha.
  • D A pilha é uma estrutura LIFO (Last In, First Out), ou seja, o último elemento armazenado na pilha, é o primeiro a sair. 
  • E A pilha é uma estrutura FIFO (First In, First Out), ou seja, o primeiro elemento armazenado na pilha, é o primeiro a sair.