Prévia do material em texto
Disciplina: ALGORITMOS E COMPLEXIDADE AV
Turma:
07/10/2023
Avaliação: 9,00 pts Nota SIA: 9,00 pts
ENSINEME: ALGORITMOS DE ORDENAÇÃO AVANÇADOS
1. Ref.: 7925955 Pontos: 1,00 / 1,00
O algoritmo de ordenação "Shell Sort", ou simplesmente "Shell Sort", é um algoritmo de
classificação de comparação.
O método de ordenação "Shell Sort" é derivado de qual outro método de ordenação?
Insertion Sort.
Bubble Sort.
Merge Sort.
Selection Sort.
Quick Sort.
2. Ref.: 7925949 Pontos: 1,00 / 1,00
O "Insertion Sort", ou ordenação por inserção, é um algoritmo de ordenação simples
que constrói a lista final um item por vez.
Qual é uma das vantagens do algoritmo "Insertion Sort"?
Ele é sempre o algoritmo mais rápido.
Ele realiza o menor número de comparações independentemente da disposição
inicial dos dados.
Ele se comporta de maneira ideal quando a matriz já está quase ordenada.
Ele reorganiza os elementos com a mesma chave.
Não precisa de nenhuma comparação.
ENSINEME: ALGORITMOS EM ÁRVORES BINÁRIA E ÁRVORE AVL
3. Ref.: 3990640 Pontos: 1,00 / 1,00
Observe a árvore binária a seguir:
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%207925955.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%207925949.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990640.');
O caminhamento central (infixado) sobre essa árvore produz a sequência de
visitação:
A - B - D - E - H - I - J - K - C - F - G
D - H - J - K - I - E - B - F - G - C - A
A - B - C - D - E - F - G - H - I - J - K
J - K - I - H - E - D - B - F - G - C - A
D - B - H - E - J - I - K - A - F - C - G
4. Ref.: 3990634 Pontos: 1,00 / 1,00
Imagine que temos números de 1 a 100 em uma árvore de pesquisa binária (ABP).
Agora queremos procurar o número 50. Assinale a alternativa que apresenta a
possível sequência de elementos da árvore consultada.
40 - 60 - 45 - 48 - 50.
42 - 60 - 20 - 48 - 50.
40 - 10 - 45 - 30 - 50.
40 - 15 - 45 - 30 - 50.
42 - 60 - 20 - 30 - 50.
ENSINEME: ALGORITMOS EM GRAFOS
5. Ref.: 3992628 Pontos: 1,00 / 1,00
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990634.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992628.');
(CESGRANRIO - Transpetro - Analista de Sistemas Júnior - Processos de Negócio
- 2018)
Uma das medidas de qualidade do código de um software é a Complexidade, que pode
ser medida por meio da complexidade ciclomática.
Considere um grafo de fluxo que possui 5 nós e 12 arcos. Qual a complexidade
ciclomática desse grafo?
9
17
11
15
19
6. Ref.: 3992632 Pontos: 1,00 / 1,00
(CESGRANRIO - Banco da Amazônia - Técnico Científico - Banco de Dados - 2014)
O grafo anterior pode ser representado pela seguinte matriz:
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992632.');
ENSINEME: ANÁLISE DE ALGORITMO
7. Ref.: 3990621 Pontos: 1,00 / 1,00
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 função é:
Algoritmo questao_prova;
var
x,y: inteiro;
inicio
x<- 4;
y<- 2;
valor(x,y);
fim.
sub-rotina valor(inteiro: u, v)
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990621.');
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.
4
7
5
10
8
8. Ref.: 6112507 Pontos: 0,00 / 1,00
Uma tarefa essencial quando começamos a aprender uma nova linguagem de
programação é conhecer e saber manipular as suas estruturas básicas de dados.
Nesse sentido, um vetor é uma coleção de variáveis de:
Registros alocadas em sequência na memória.
Tipo de dado homogêneo distribuído pela memória.
Tipo de dado homogêneo em sequência na memória.
Diferentes tipos de dados em sequência na memória.
Diferentes tipos de dados distribuídos pela memória.
ENSINEME: RECURSIVIDADE
9. Ref.: 3992614 Pontos: 1,00 / 1,00
Considere a função recursiva `func¿ definida por
func(1) = 1
func(n) = (n - 1) * func(n - 1)
Quais são os valores de func(4) e func(5), respectivamente?
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206112507.');
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992614.');
12 e 24
1 e 2
6 e 24
24 e 120
2 e 6
10. Ref.: 3992616 Pontos: 1,00 / 1,00
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:
360
120
1440
240
720
javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203992616.');