Questões de Concurso
Sobre pilhas em algoritmos e estrutura de dados
Foram encontradas 281 questões
Julgue o próximo item, a respeito de computação e estrutura de dados.
Se os elementos A, B, C e D forem inseridos em uma pilha, nessa ordem, eles serão excluídos na ordem A, B, C e D, um elemento de cada vez.
Para gerenciar a ordem de execução de chamadas de função em um programa recursivo, a estrutura de dados mais adequada é a pilha (stack), pois sua característica LIFO (last-in, first-out) espelha o fluxo de execução em que a última função chamada é a primeira a finalizar sua execução e retornar.
- 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?
Código 01 import java.util.Stack; public class PilhaExemplo { public static void main(String[] args) { Stack<Integer> pilha = new Stack<>(); pilha.push(10); pilha.push(20); pilha.push(30); System.out.println("Elementos removidos da pilha:"); while (!pilha.isEmpty()) { System.out.println(pilha.pop()); } } } Código 02 import java.util.LinkedList; import java.util.Queue; public class FilaExemplo { public static void main(String[] args) { Queue<Integer> fila = new LinkedList<>(); fila.add(10); fila.add(20); fila.add(30); System.out.println("Elementos removidos da fila:"); while (!fila.isEmpty()) { System.out.println(fila.poll()); } } }
Com base nos dois trechos de código apresentados, assinale a alternativa correta ao comparar o código da pilha com o código da fila.
Código 01 import java.util.Stack; public class Pilha { public static void main(String[] args) { Stack<Integer> pilha = new Stack<>(); pilha.push(5); pilha.push(3); pilha.push(8); pilha.push(1); Stack<Integer> pilhaOrdenada = new Stack<>(); while (!pilha.isEmpty()) { int temp = pilha.pop(); while (!pilhaOrdenada.isEmpty() && temp > pilhaOrdenada.peek()) { pilha.push(pilhaOrdenada.pop()); } pilhaOrdenada.push(temp); } System.out.println("Pilha Ordenada: " + pilhaOrdenada); } }
Código 02
import java.util.Stack; public class Pilha { public static void main(String[] args) { Stack<Integer> pilha = new Stack<>(); pilha.push(5); pilha.push(3); pilha.push(8); pilha.push(1); Stack<Integer> pilhaOrdenada = new Stack<>(); while (!pilha.isEmpty()) { int temp = pilha.pop(); while (!pilhaOrdenada.isEmpty() && temp < pilhaOrdenada.peek()) { pilha.push(pilhaOrdenada.pop()); } pilhaOrdenada.push(temp); } System.out.println("Pilha Ordenada: " + pilhaOrdenada); } }
Ao comparar os dois códigos apresentados, assinale a alternativa correta.
Sobre estruturas de dados, julgue o item.
Uma pilha é uma estrutura de dados onde o primeiro elemento que entra na pilha é o último elemento a sair.
Considere a estrutura de dados do tipo pilha. Se a pilha estiver vazia então topo = λ, sabe-se que pt é um ponteiro. Analise o algoritmo abaixo
se topo ≠ λ então
pt := topo
topo := topo ↑.prox
valor- recuperado := pt ↑.info
desocupar(pt)
senão underflow
O algoritmo descreve a operação de
O tempo de execução da operação POP (desempilhar) em uma pilha com n elementos é
4 8 1 3
8 1 3
1 3
5 1 3
Elaborado pelo(a) autor(a).
Considerando a representação de como a estrutura se comporta durante as operações sucessivas de adição e remoção de elementos, infere-se que a estrutura de dados é uma:
Levando em consideração esses requisitos, Gabriel identifica que a estrutura adequada para cumprir tais exigências é a:
As classes EstruturaDados1 e EstruturaDados2 representam, respectivamente: