Informática, perguntado por milenacorradibarbosa, 3 meses atrás

Um algoritmo bastante simples de implementar é o Selectionsort. Super intuitivo, ajuda novos estudantes de estruturas de dados a compreender melhor como é possível ordenar um arranjo linear unidimensional. Todavia, sua simplicidade de implementação tem um custo alto: o esforço computacional para executar esse algoritmo não costuma ser dos melhores.

OLIVEIRA, Pietro Martins de; LEON, Rogério de. Estrutura de Dados II. Maringá-PR, Unicesumar, 2019.

Observe o código-fonte a seguir:

//Aplica o modo Selectionsort
int Selectionsort(int vec[], int tam){
int i, j, min;
for (i = 0; i < (tam-1); i++)
{
min = i;
for (j = (i+1); j < tam; j++) {
if(vec[j] < vec[min]) {
min = j;
}
}
if (i != min) {
troca(&vec[i], &vec[min]);
}
}
}
//Considere que a função troca() inverte as posições dos parâmetros vec[i] e vec[j] dentro do vetor

Com base no código-fonte apresentado acima, avalie as afirmações a seguir:

I. O algoritmo Selectionsort, acima, ordena o vetor em ordem crescente.
II. Esse algoritmo é tão ineficiente quanto o Bubblesort.
III. As variáveis i e j fazem com que esse algoritmo seja tão rápido quanto o Quicksort.

É correto o que se afirma em:

Alternativas
Alternativa 1:
I, apenas.

Alternativa 2:
I e II, apenas.

Alternativa 3:
I e III, apenas.

Alternativa 4:
II e III, apenas.

Alternativa 5:
I, II e III.

Soluções para a tarefa

Respondido por mendesdasilveirasama
4

Resposta:

I e II, apenas

Explicação:

Na p. 77, encontra-se um código semelhante que ordena o vetor crescentemente. É um algoritmo tão ineficiente quanto o Bebblesort por conta do esforço computacional. Por fim, não é rápido como Quicksort, tendo em vista que este é um método avançado de ordenação semelhante ao Mergesort (p. 96).


jrfaculdade007: agora lascou tudo estou com dúvidas
Perguntas interessantes