joaoarthurbm / eda

Material escrito para a disciplina de Estruturas de Dados e Algoritmos da Universidade Federal de Campina Grande.
http://joaoarthurbm.github.io/eda
53 stars 65 forks source link

Update merge-sort.md #27

Closed viniciusfurtado1 closed 4 years ago

viniciusfurtado1 commented 4 years ago

Professor, a condição de continuidade do merge sort não seria 'if(left < right)' , como foi citado anteriormente ?

viniciusfurtado1 commented 4 years ago

Olá professor, boa noite, como a condição de parada é: (left >= right), temos o código:

if left >= right
    return;
else
    ....

Já quando fazemos com uma condição de continuidade, invertemos a lógica e o código fica:

if left < right
   ....

Não é isso?

Eu não entendi o porque de no material estar escrito "Certamente eu poderia ter feito if (left > right) e economizado algumas linhas de código descartando o else ...". Se a condição de continuidade, que é o que nos faz eliminar o else, é if (left < right). Eu só acho que esse Maior que deveria ser trocado pelo Menor que. Posso estar confundido algo...

joaoarthurbm commented 4 years ago

Oi, @ViniciusFurtado1 . É isso sim. Foi isso que tentei te explicar no meu comentário anterior. No material está ""Certamente eu poderia ter feito if (left > right) ", mas deve ser ""Certamente eu poderia ter feito if (left >= right) ".

Você explicou certo, mas a tua conclusão foi errada. Veja "Eu só acho que esse Maior que deveria ser trocado pelo Menor que. " Não. Ele deveria ser trocado por maior que. O Menor que é condição de continuação e é como está o código do material. Faz sentido?

Quer submeter essa mudança?