Huehue
O princípio do Bubblesort é a troca de valores entre posições consecutivas, fazendo com que os valores mais altos (ou mais baixos) "borbulhem" para o final do arranjo (daí o nome Bubblesort). No melhor caso, o algoritmo executa operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas operações. A complexidade desse algoritmo é de Ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.
Pseudo Codigo
Código em Java public class Bolha { public static void main(String[] args) { int[] v = new int[12]; long inicio = 0; long fim =0; inicio = System.currentTimeMillis(); for (int i = 0; i < v.length; i++) { v[i] = (int)(Math.random()* 1000.0); } // // Exibe o vetor // for(int i : v) { System.out.print(i + " "); } // // Ordenar o vetor (Bubble Sort) // int aux = 0; int p = 0; for(p = 0; p < v.length; p++) { for(int j = 0; j < v.length-1; j++) { if(v[j] > v[j+1]) { aux = v[j]; v[j] = v[j+1]; v[j+1] = aux; } } } // // Exibe o vetor ordenad} }
Definição do método Mergesort
Mergesort é um algoritmo recursivo, que é implementado dividindo uma sequência original em pares de dados, ordena-as e depois as agrupa em sequências de quatro elementos, e assim por diante, até ter toda a sequência dividida em apenas duas partes. Assim, sua ideia básica é criar uma sequência ordenada a partir de duas outras também ordenadas.
O Mergesort é classificado como ordenação por partição, que parte do princípio de "dividir para conquistar", que consiste em dividir um problema maior em problemas pequenos, e sucessivamente até que o mesmo seja resolvido diretamente. Esta técnica realiza-se em três fases:
Divisão: o problema maior é dividido em problemas menores e os problemas menores obtidos são novamente