Buscar

Uma função que implementa parte do algoritmo quick sort pode ser vista abaixo. Todo o resto do algoritmo foi omitido para que analisemos somente es...

Uma função que implementa parte do algoritmo quick sort pode ser vista abaixo. Todo o resto do algoritmo foi omitido para que analisemos somente este método. O algoritmo completo pode ser visto no material PDF da Aula 2. No código, a função chamada de particao refere-se à função que localiza um pivô no vetor de dados e faz as respectivas trocas dos valores, ordenando seguindo algum critério. No código, vet é o vetor de dados, e troca é a função que realiza uma troca entre dois valores destoantes utilizando uma variável auxiliar. 1. int particao(int vet[], int p, int u) 2. { 3. int pivo, pivo_pos, i, j; 4. pivo_pos = (p + u) / 2; 5. pivo = vet[pivo_pos]; 6. 7. i = p - 1; 8. j = u + 1; 9. while (i < j) 10. { 11. do 12. { 13. j--; 14. } while (vet[j] > pivo); 15. 16. do 17. { 18. i++; 19. } while (vet[i] < pivo); 20. 21. if (i < j) 22. troca(vet, i, j); 23. } 24. return j; 25. } Acerca deste algoritmo, assinale a alternativa INCORRETA:
A A variável pivo_pos localiza a posição a qual conterá o valor de referência para comparações com todos os outros valores do vetor.
B Na linha 11 até a linha 14 comparamos o pivô com todos os valores ao lado direito do mesmo. Caso um valor seja menor que o pivô, ele deve ser colocado para uma posição anterior a do pivô, ou no máximo, no local do pivô.
C Na linha 16 até a linha 19 comparamos o pivô com todos os valores ao lado esquerdo do mesmo. Caso um valor seja maior que o pivô, ele deve ser colocado para uma posição posterior a do pivô, ou no máximo, no local do pivô.
D A troca (linha 21 e 22) pode acontecer entre um valor do lado esquerdo e do lado direito, ou entre o próprio pivô e um dos valores destoantes de cada um dos lados. Você acertou! Primeiro localizamos a posição (linha 4) e depois o valor daquela posição (linha 5).
E Na linha 4 acessamos a posição do pivô no vetor e na linha 5 acessamos a posição correspondente do vetor conforme calculado na linha 4.

Essa pergunta também está no material:

IO - ESTRUTURA DE DADOS
39 pág.

Estrutura de Dados I Universidade Federal do AmazonasUniversidade Federal do Amazonas

💡 1 Resposta

User badge image

Ed Verified user icon

Vamos analisar as alternativas: A) A variável pivo_pos localiza a posição a qual conterá o valor de referência para comparações com todos os outros valores do vetor. - Correta. B) Na linha 11 até a linha 14 comparamos o pivô com todos os valores ao lado direito do mesmo. Caso um valor seja menor que o pivô, ele deve ser colocado para uma posição anterior a do pivô, ou no máximo, no local do pivô. - Correta. C) Na linha 16 até a linha 19 comparamos o pivô com todos os valores ao lado esquerdo do mesmo. Caso um valor seja maior que o pivô, ele deve ser colocado para uma posição posterior a do pivô, ou no máximo, no local do pivô. - Correta. D) A troca (linha 21 e 22) pode acontecer entre um valor do lado esquerdo e do lado direito, ou entre o próprio pivô e um dos valores destoantes de cada um dos lados. Você acertou! Primeiro localizamos a posição (linha 4) e depois o valor daquela posição (linha 5). - Correta. E) Na linha 4 acessamos a posição do pivô no vetor e na linha 5 acessamos a posição correspondente do vetor conforme calculado na linha 4. - Correta. Portanto, todas as alternativas estão corretas.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais