Carregando...
Carregando...
Carregando...
Considere a seguinte implementação em Python de um algoritmo de ordenação: def func(arr, n, i): largest = i l = 2 * i + 1 r = 2 * i + 2 if l < n and arr[i] < arr[l]: largest = l if r < n and arr[largest] < arr[r]: largest = r if largest != i: arr[i], arr[largest] = arr[largest], arr[i] func(arr, n, largest) def ordena(arr): n = len(arr) for i in range(n // 2 - 1, -1, -1): func(arr, n, i) for i in range(n - 1, 0, -1): arr[i], arr[0] = arr[0], arr[i] func(arr, i, 0) O algoritmo de ordenação implementado acima é o:
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
A resposta correta é: “Heapsort” JUSTIFICATIVA Resolução: O algoritmo cria uma estrutura heap no próprio vetor, a qual retorna na primeira posição o maior elemento. Com isso, o primeiro elemento é trocado com o último, e isso se repete até que todos os elementos tenham sido ordenados.