21/10/2025, 14:22 [Link].
br/prova/68f7beab7428e2d26c7c701c/
Prova AV Algoritmos e Complexidade
1 Marcar para revisão
00 : 38 : 55 Ocultar
hora min seg
Ano: 2010 Banca: FCC Órgão: TRT - 20ª REGIÃO (SE)
Prova: FCC - 2010 - TRT - 20ª REGIÃO (SE) - Técnico
Judiciário - Tecnologia da Informação Questão 1 de 10
Objeto que se constitui parcialmente ou é definido em
termos de si próprio. Nesse contexto, um tipo especial
1 2 3 4 5
de procedimento (algoritmo) será utilizado, algumas
vezes, para a solução de alguns problemas. Esse
procedimento é denominado: 6 7 8 9 10
Respondidas (10) Em branco (0)
A Recursividade.
Finalizar prova
B Rotatividade.
C Repetição.
D Interligação.
E Condicionalidade.
2 Desmarcar para revisão
O algoritmo de ordenação mais eficiente para um
conjunto grande de elementos randomicamente
inseridos é:
A Quick sort
B Selection sort
C Bubble sort
[Link] 1/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
D Insert sort
E Shell sort
3 Marcar para revisão
(IBGE - Analista Censitário - Análise de Sistemas -
Desenvolvimento de Aplicações - Web Mobile - 2017)
Observe a figura a seguir que ilustra relações entre
colegas e seus interesses:
O tipo de Banco de Dados NoSQL, não relacional, que
armazena tais informações, utilizando estruturas de
vértices e arestas, com propriedades associadas, é o:
A Colunar
B Documento
C Grafo
D Chave-valor
E Tabular
4 Marcar para revisão
No algoritmo abaixo, os parâmetros da função valor são
recebidos e são impressos na própria função. Assim
sendo, o valor da variável u exibido na última linha da
[Link] 2/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
função é: #Algoritmo# var x,y: inteiro; inicio x<- 4; y<- 2;
valor(x,y); fim. #Sub-rotina# valor(inteiro: u, v) inicio u
<- u * 2; v <- v + u; u <- u - 1; escreva(u); fim sub-rotina;
#Marque a opção que mostra o valor correto exibido da
variável u.
A 4
B 5
C 7
D 8
E 10
5 Marcar para revisão
Analise o seguinte código:
public static double recursive (double d) {
if (d <= 1) {
return 1;
} else {
return d * recursive(d - 1);
Assinale o conteúdo que será exibido na saída do
programa quando a função for chamada com o
parâmetro 6:
[Link] 3/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
A 120.
B 240.
C 360.
D 720.
E 1440.
6 Marcar para revisão
O algoritmo de ordenação Shell Sort, ou simplesmente
Shell Sort, é uma generalização do algoritmo de
inserção que permite a troca de itens distantes.
Qual é o propósito das sentinelas em algumas variações
da ordenação "Shell Sort"?
A Aumentar a eficiência do algoritmo.
B Guardar valores especiais de terminação.
C Organizar a sequência de incrementos.
D Facilitar a visualização do código.
E Indicar o começo e o fim do array.
7 Marcar para revisão
Após a inserção de um nó, é necessário verificar cada
um dos nós ancestrais desse nó inserido, relativamente
à consistência com as regras estruturais de uma árvore
AVL.
[Link] 4/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
PORQUE
O fator de balanceamento de cada nó, em uma árvore
AVL, deve pertencer ao conjunto formado por {−2, −1, 0,
+1, +2}.
Analisando-se as afirmações acima, conclui-se que:
as duas afirmações são verdadeiras, e a
A
segunda justifica a primeira.
as duas afirmações são verdadeiras, e a
B
segunda não justifica a primeira.
a primeira afirmação é verdadeira, e a segunda
C
é falsa.
a primeira afirmação é falsa, e a segunda é
D
verdadeira.
E as duas afirmações são falsas.
8 Desmarcar para revisão
Considerando a figura acima, que ilustra uma árvore de
busca binária, assinale a opção correta.
O percurso a percorrer nessa árvore na pré-
A
ordem é 4 10 15 12 8.
Se a árvore em questão não for balanceada,
B então, com a remoção do nó 8, o nó 12 deve
assumir a raiz da árvore.
[Link] 5/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
Se a referida árvore for balanceada, a inserção
C de um nó 5 fará que ele tome o lugar do nó 4,
passando a ser o nó 5 a raiz da subárvore.
Se a árvore em tela for balanceada, depois da
D inserção de um nó 9, o nó 12 assume a raiz da
árvore.
Transformando essa árvore em uma nova
E árvore de ordem 2, as folhas teriam de estar
no nível 2.
9 Marcar para revisão
Analise o custo computacional dos algoritmos a seguir,
que calculam o valor de polinômio de grau n da forma
onde os coeficientes são números de
ponto flutuante armazenados no vetor [a..n], e o valor
de n é maior que zero. Todos os coeficientes
podem assumir qualquer valor, exceto o coeficiente a n
que é diferente de zero.
ALGORITMO 1:
soma = a[0]
repita para i=1 até n
se a[i] <> 0.0 então
potencia = x
repita para j = 2 até i
potencia = potencia * x
fim repita
soma = soma + a[i]
fim se
fim repita
imprima(soma)
ALGORITMO 2:
soma = a[n]
repita para i = n-1 até 0 passo -1
soma = soma * x + a[i]
fim repita
imprima(soma)
Com base nos algoritmos 1 e 2, avalie as asserções a
seguir e a relação proposta entre elas.
[Link] 6/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
1.
Os algoritmos possuem a mesma complexidade
assintótica
PORQUE
1.
Para o melhor caso, ambos possuem a complexidade
O(n)
A respeito dessas asserções, assinale a opção correta:
as duas asserções são proposições
A verdadeiras, mas a segunda é uma justificativa
correta da primeira.
as duas asserções são proposições
B verdadeiras e a segunda não é a justificativa
correta da primeira.
a primeira asserção é uma
C proposição verdadeira e a segunda uma
proposição falsa.
a primeira asserção é uma proposição falsa e a
D
segunda uma proposição verdadeira.
tanto a primeira quanto a segunda
E
asserção são proposições falsas.
10 Marcar para revisão
O algoritmo de Dijkstra é frequentemente utilizado para
encontrar o caminho mais curto entre dois nós em um
grafo ponderado e não direcionado. Considere as
afirmações a seguir sobre o algoritmo de Dijkstra, no
contexto de algoritmos de caminhos mínimos em grafos
ponderados. Assinale a afirmação correta.
[Link] 7/8
21/10/2025, 14:22 [Link]/prova/68f7beab7428e2d26c7c701c/
O algoritmo de Dijkstra pode ser aplicado
eficientemente em grafos que contenham
A
arestas com pesos negativos para encontrar o
caminho mais curto.
O algoritmo de Dijkstra utiliza uma abordagem
de busca em largura (BFS - Breadth-First
B
Search) como sua estratégia principal para
encontrar o caminho mais curto.
O algoritmo de Dijkstra pode identificar e
C reportar a presença de ciclos negativos em um
grafo.
O algoritmo de Dijkstra, quando implementado
sem otimizações como heap de Fibonacci,
D
possui uma complexidade de tempo de O(n2)
para um grafo com n vértices.
O algoritmo de Dijkstra é ideal para calcular o
caminho mais curto em grafos direcionados e
E
não direcionados, independentemente da
presença de ciclos.
[Link] 8/8