QuestLab Plataforma Inteligente de Questões
Questão pública

Questão de Tecnologia da Informação

FCC - DPE AM - Assistente Técnico em Tecnologia da Informação de Defensoria - Área Programador - 2018 • FCC • 2018

Texto associado

Texto-base

Atenção: Para responder às questões de números 25 e 26, considere a estratégia de ordenação apresentada em Java abaixo.

private static void ordena(int[] vetor, int inicio, int fim) {
if (inicio < fim) {
int posicaoP = separar(vetor, inicio, fim);
ordena(vetor, inicio, posicaoP - 1);
ordena(vetor, posicaoP + 1, fim);
}
}
private static int separar(int[] vetor, int inicio, int fim) {
int P = vetor[inicio];
int i = inicio + 1, f = fim;
while (i
Considerando que N é número de elementos do vetor a ser ordenado, a estratégia de ordenação apresentada em Java
A
também é conhecida como método de ordenação por intercalação e possui uma versão para unir dois vetores já ordenados.
B
tem complexidade O(N 2 ) no pior caso e no caso médio, mas apresenta complexidade O(N) no melhor caso.
C
faz um número fixo de comparações dado por log 2 N, independente dos valores do vetor original. Isso é garantido pelas chamadas recursivas ao método ordena() .
D
utiliza o método separar() para dividir o vetor original em 2 sublistas de igual tamanho. Isso garante que mesmo no pior caso o método realize Nlog 2 N comparações.
E
utiliza o método separar() para fazer a partição do vetor, por meio da seleção de um elemento chamado pivô. A escolha do pivô é crucial para o bom desempenho do método, já que a fase de partição é a parte crítica do algoritmo.
Quer responder esta questão e acompanhar seu desempenho?

Entre na QuestLab para responder, acessar a AURA, estatísticas, cadernos, anotações e outros recursos da plataforma.