Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.682 questões
Em uma árvore binária, cujo grau máximo é igual a dois, todos os nós de uma subárvore esquerda são maiores que o nó raiz.
Um grafo é formado por um par de conjuntos de vértices e arestas, não podendo o conjunto de vértices ser particionado em subconjuntos.
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
soma = 39.
Esse resultado foi entregue ao professor. Indagado sobre com qual algoritmo tinha encontrado o resultado correto, Beto percebeu que não mais lembrava. E teve que repetir as experiências.
Qual foi o algoritmo utilizado pelo estudante?
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
Para qualquer salario que for maior que 1000, o valor final de salario será acrescido em 50% de seu valor anterior.
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
Caso a linha 5 fosse salarionovo = salario * * 2, o valor da variável salario seria multiplicado por 2 duas vezes, tal que, se o valor da variável salario fosse 1000, então o valor de salarionovo seria 4000.
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
O comando na linha 7 faz aumentar o valor da variável salario em 75%. Esse comando, contudo, não poderá ser implementado da forma apresentada, uma vez que não é possível atribuir valor à variável salario, pois ela já está sendo utilizada no cálculo.
Ao se utilizar um vetor para a ordenação de dados numéricos em ordem crescente, se a ordenação dos dados for realizada pelo algoritmo de ordenação por seleção, um laço de comparações será executado do primeiro ao penúltimo elemento do vetor.
Independentemente do vetor de entrada, o algoritmo Quick Sort divide o vetor ao meio, ordenando cada metade recursivamente e intercalando as duas metades ordenadas.
Árvores binárias com n nós, em que cada nó possui apenas um único filho, possuem altura máxima dada por h = 1 + |log n|.
Em uma árvore AVL (Adelson-Velsky e Landis), caso a diferença de altura entre as sub-árvores de um nó seja igual a 2 e a diferença de altura entre o nó filho do nó desbalanceado seja igual a -1, deve-se realizar uma rotação dupla com o filho para a direita e o pai para a esquerda a fim de que a árvore volte a ser balanceada.
f(a,b) se b = 0 então retorna a senão retorna f(b, a MOD b)
onde x MOD y é o resto da divisão de x por y. O valor de f (30, 21) é
• 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
Se a fila começa vazia, a sequência
INSERE (2)
INSERE (3)
RETIRA ( )
INSERE (1)
RETIRA ( )
INSERE (4)
INSERE (5)
RETIRA ( )
RETIRA ( )
levará a uma fila no estado
Se procurarmos pelo número 50, a única sequência válida de números visitados é:
- 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))))) ?