Questões de Concurso
Sobre pilhas em algoritmos e estrutura de dados
Foram encontradas 269 questões
Qual é a quantidade mínima de movimentos entre as três pilhas para que a pilha P1, originalmente cheia, esteja preenchida de v(5) até v(1), respectivamente, com os símbolos Q1, Q2, Q3, Q4, Q5 ?
Considere a figura a seguir, que mostra os valores iniciais das pilhas p1 e p2, nas quais foram realizadas operações de empilhar (push) e desempilhar (pop), além de ter sido atribuído um valor para a variável x (x ← valor). Nesse caso, realizando-se as operações indicadas, na ordem listada, obtêm-se os valores finais das pilhas e da variável x mostrados.
I. O PRIMEIRO elemento a ser inserido é o PRIMEIRO a ser retirado.
II. O PRIMEIRO elemento a ser inserido é o ÚLTIMO a ser retirado.
As estruturas I e II são, respectivamente, dos tipos
(1) Pilha.
(2) Fila.
(A) FIFO (First In - First Out).
(B) LIFO (Last In - First Out).
Assinale a alternativa correta:
Na estrutura do tipo pilha, são permitidas operações como encontrar o menor elemento e mostrar o seu sucessor.
Qual é a sequência de empilhamento e desempilhamento que finaliza com a sequência 2, 3, 1 (1 fica no topo) na pilha R, com um mínimo de movimentos?
Dado
Exemplo de notação:
DP: significa desempilhar da pilha P
E2Q: significa empilhar 2 na pilha Q
• Push (n): empilha um valor n
• Pop (n): desempilha um valor colocando-o em n
• Sum(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a+b)
• Sub(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a – b)
• Mul(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a x b)
• Div(): é o mesmo que a sequência
Pop(a)
Pop(b)
Push(a ÷ b)
A sequência de operações
Push(3)
Push(7)
Sum()
Push(2)
Push(8)
Push(3)
Push(2)
Sub()
Mul()
Sum()
Div()
Push(7)
Push(6)
Sub()
Div()
deixará, no topo da pilha, o resultado do cálculo da expressão
- Pilha é uma lista (LIFO) de itens com a restrição de que inserções (Push) e retiradas (Pop) de itens só podem ser feitas no final da lista (Topo da lista).
- CriarP cria uma pilha P vazia.
- Push(P, i) insere o item i no Topo da pilha P.
- Pop(P) retira e retorna da pilha P o item que está no Topo da pilha P.
- Pop(P) para pilha P vazia = Erro.
Com essa especificação, quais são, respectivamente, os resultados das expressões
Pop(Push(CriarP, X)) ; Pop (CriarP) e Pop(Push(P,(Pop(Push(CriarP, X))))) ?
I. A operação de inserção de um elemento na pilha precisa reorganizar a estrutura de dados, podendo gastar um tempo de execução de O(n).
II. A operação de retirada de um elemento da pilha é uma operação de tempo constante O(1).
III. Na operação de consultar toda a pilha, todos os elementos são percorridos, gastando-se um tempo de execução de O(n).
Estão CORRETAS as afirmativas:
Considere a seguinte estrutura de dados do tipo Pilha, cujas operações básicas podem ser representadas por PUSH x e POP x.

Assinale a alternativa que apresenta uma operação e sua respectiva explicação, coerentes com a estrutura apresentada.
Dispõe-se de uma estrutura de dados com 3 elementos já inseridos (A, B e C), nessa ordem, conforme abaixo.

Após, retira-se um elemento e, a seguir, incluem-se mais 3 elementos (D, E e F) nessa ordem. Finalmente, retiram-se 2 elementos, resultando como abaixo.

A estrutura de dados que insere e retira dados,
conforme indicado acima, é
A partir desse estado da pilha e supondo que, inicialmente, as variáveis x, y e z contenham, respectivamente, os valores 40, 50 e 60, foram realizadas as seguintes operações sobre a pilha:
PUSH z PUSH y PUSH x POP y POP z POP x Após a realização dessas operações, os valores finais de x, y e z são, respectivamente,
Inicio IniciaPilha(P); num=0 total=0 Enquanto (num <> -1) Le_teclado(num) Se (Vazia(P) ou Topo(P)<num) Push(P,num) Senao total <- total+Pop(P) Fim_se Fim_Enquanto Fim
Se o programa for executado com uma sequência de entrada (fornecida pelo teclado) igual a 3, 5, 6, 8, 10, 7, 9, 6, 1, -1 (começando pelo 3), ao final da execução, a pilha conterá (da base para o topo) os valores