Olá, alguem poderia me explicar o algoritmo merge sort com um codigo em java didatico?
não achei nenhuma aula com codigo sobre ele.
Eu so sei o de bolha, e o de inserção.
obrigado a todos.
Olá, alguem poderia me explicar o algoritmo merge sort com um codigo em java didatico?
não achei nenhuma aula com codigo sobre ele.
Eu so sei o de bolha, e o de inserção.
obrigado a todos.
Dificilmente você vai encontrar um código didático para um mergesort, o que você pode ter é uma aula na qual desenvolve ele pouco a pouco, mas o resultado final ainda vai ser o mesmo.
Eu tenho o link pra uma implementação em Java, caso queira ver, o código não é meu, eu só reescrevi pra poder acompanhar melhor as aulas do Coursera, caso queira ver clique aqui.
E caso queira ver a aula do mergesort desse curso, a próxima turma começa dia 28, e é totalmente gratuito, é só se inscrever: https://www.coursera.org/course/algo
Então, eu queria uma aula ou tutorial do passo a passo do codigo, pois ja procurei e não acho…
so tem aulas teoricas, pois achei muito complexo esse algoritmo.
outra duvida qual o mais eficiente quick sort ou merge?
O curso que eu te indiquei é muito bom, com certeza vai te ajudar nisso, e nele tem um video inteiro sobre o mergesort se não me engano.
A resposta vai depender do que você quer dizer com eficiência
[quote=Rodrigo Sasaki]O curso que eu te indiquei é muito bom, com certeza vai te ajudar nisso, e nele tem um video inteiro sobre o mergesort se não me engano.
A resposta vai depender do que você quer dizer com eficiência[/quote]
Muito provavelmente ele deve estar falando do tempo de execução. Basicamente, o limite assintótico de ambos algoritmos é n * lg n. A diferença é que o quicksort é sensível à entrada. Um vetor já ordenado ou ordenado na ordem inversa degrada para um tempo de execução de n², enquanto o mergesort é (-)(n * lg n) para qualquer entrada.