projeto de algoritmo
Para escolher um método de ordenação na memória principal, devemos observar a organização dos vetores e a quantidade de comparações que poderão fazer, pois quanto mais comparações e trocas de posições na memória maior seu tempo de execução o que poderá torna-lo inviável.
2) Veja os vídeos no YouTube indicados no material que ilustram o comportamento desses algoritmos de ordenação. Dê sua opinião.
Nos vídeos observados podemos verificar claramente o método Bubble-Sort onde comparam a estatura de cada um, fazendo a troca de lugares quando o valor for diferente do esperado, tendo como solução todos separados pela altura. Nos outros vídeos, com baralho, podemos verificar o uso dos métodos de inserção e de seleção, onde no primeiro retira-se uma carta do baralho e procura sua posição e no segundo ocorre a ordenação seletiva considerando os valores das cartas.
3) Faça um quadro comparativo dos métodos vistos: Bolha, ShellSort, MergeSort, HeapSort e QuickSort. Relate vantagens e desvantagens.
Bolha
Vantagens: Fácil implementação e Algoritmo instável.
Desvantages: O fato de o arquivo já estar ordenado não ajuda em nada, ordem de complexidade O(n²)
ShellSort
Vantagens: Código simples e recomendado para arquivos de tamanho moderado.
Desvantagens: Instável e tempo de execução sensível à ordem inicial do arquivo.
MergeSort
Vantagens: Passível de ser estável, fácil implementação e complexidade O(n log n).
Desvantagens: Utiliza variáveis auxiliares e mais lento que o HeapSort
HeapSort
Vantagens: Complexidade O(n log n)
Desvantagens: O anel interno do algoritmo é complexo e instável
QuickSort
Vantagens: Eficiência, necessita apenas de uma pequena pilha e complexidade O(n log n)
Desvantages: Tem o pior caso como O(n²), difícil implementação e