Questões de Concurso
Sobre pilhas em algoritmos e estrutura de dados
Foram encontradas 281 questões
• 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
Dados de entrada: 11, 12, 23, 14, 25, 50, 8, 18, 29, 10
As estruturas mostradas ficam
I. Pilha: (topo) 10 - 29 - 18 - 8 - 50 - 25 - 14 - 23 - 12 - 11
II. Fila: (começo) 11 - 12 - 23 - 14 - 25 - 50 - 8 - 18 - 29 - 10 (fim)
III. Fila: (começo) 10 - 29 - 18 - 8 - 50 - 25 - 14 - 23 - 12 - 11 (fim)
IV. Pilha: (topo) 11 - 12 - 23 - 14 - 25 - 50 - 8 - 18 - 29 - 10
V. A fila mostrada fica com os elementos em ordem invertida dos dados de entrada
Está correto o que se afirma APENAS em

O método concat() irá produzir uma pilha na qual o elemento que estará no seu topo será o topo da pilha s1. Além disso, o elemento no topo de s2 ficará imediatamente abaixo da base de s1. A Figura a seguir exibe a pilha produzida pelo método concat() a partir das pilhas s1 e s2:

Qual implementação do método concat() produz o resultado descrito acima?
( ) Listas lineares são estruturas adequadas a aplicações em que não se pode prever a demanda por memória.
( ) Filas são listas lineares em que, geralmente, todos os acessos são feitos em apenas um extremo.
( ) Pilhas são listas lineares em que os primeiros elementos incluídos são os primeiros retirados.
Assinale a alternativa que apresenta a sequência de letras CORRETA.