Pages

Questão EPO - Estrutura de Dados

Os estudos baseados em Estrutura de Dados têm como principal foco a aceleração dos processos de ordenação e pesquisa de dados por meio da utilização de métodos melhores elaborados e construídos que, embora mais complexos, tornam as pesquisas e ordenações muito mais rápidas quando utilizadas grandes quantidades de dados. Dentre estes métodos temos o Bubble Sort e Selection Sort nos quais o objetivo se concentra em ordenar valores em ordem crescente.

O método de ordenação Bubble Sort percorre o vetor da esquerda para a direita, sempre comparando dois valores de posições adjacentes e trocando-os entre si quando a ordenação entre eles está incorreta, enquanto o método de ordenação Selection Sort percorre todo o vetor, sem confirmar se já haviam valores posicionados corretamente, sempre selecionando os menores valores encontrados e enviando-os no vetor, da esquerda para a direita, fazendo com que o menor valor esteja posicionado na primeira posição, o segundo menor na segunda posição e assim sucessivamente.

Considerando a afirmativa anterior, as tabelas abaixo e fato de que os algoritmos foram executados no mesmo sistema, escolha a alternativa correta:

Usando um vetor de 50 posições:
Método
Tempo de Execução
Bubble Sort
0.000067
Selection Sort
0.000066


Usando um vetor de 5000 posições:
Método
Tempo de Execução
Bubble Sort
0.000100
Selection Sort
0.087180

a) Embora a utilização dos métodos de ordenação possa tornar um algoritmo mais complexo, este sempre será executado com melhor desempenho.
b) Os valores do vetor de 5000 posições já estavam bem ordenados antes da execução dos algoritmos.
c) A alternativa anterior estaria correta se estivesse falando dos valores do vetor de 50 posições.
d) Ambos os métodos de ordenação seriam semelhantemente eficientes em cada um dos vetores se os valores de ambos os vetores estivessem completamente desordenados.
e) NDA.

Um comentário:

Thiago disse...

Resposta correta: B)

Como citado no texto, o método Bubble Sort verifica a ordenação entre dois membros adjacentes, logo, se estes membros estiverem ordenados o algoritmo nao os trocara de lugar, diferente do selection sort, que ordena nao importando a ordem.

Vimos que em um vetor de 5000 posições, o Bubble Sort executa o algoritmo centenas de vezes mais rápido nos levando ao seguinte raciocício:

Se o Bubble Sort verifica os elementos antes de reordena-los, siginifica q nao teve que realizar nenhuma ou quase nenhuma troca de elementos, fazendo com que o algoritmo fosse executado bem rapidamente.

Por outro lado, o Selection Sort mostrou-se mais lento, tendo em vista o fato de que este método SEMPRE TROCA os elementos de posição, mesmo que estejam ordenados.

A alternativa C) nao pode ser pois não e possivel afirmar a ordenação, já que haviam apenas 50 elementos, tornando as execuções com tempos semelhantes.

A alternativa D) não pode ser pois o Bubble Sort, quando identifica elementos desordenados, acaba-os trocando podendo interferir na ordenação de outros elementos a frente, fazendo com que sejam necessários diversos Loops até ordenar todos os valores. Já o Selection Sort, não existe condição, ele varrerá o Vetor e os colocarão em ordem crescente.

Postar um comentário

 
Copyright (c) 2010. Blogger templates by Bloggermint