Muito boa explicação!! Até entendi melhor como funcionam os logarítmos! Só um adendo na busca linear. Seria melhor colocar um break ou return dentro do if para que não continue sendo feita a busca depois de achar o elemento. Do jeito que está no seu exemplo, sempre a busca linear vai percorrer todos elementos do array, idependente de onde achar, pois mesmo entrando no if o loop vai para o próximo laço depois até terminar o for. Sucesso aí!
Olá, boa tarde; tudo bem com você? Ainda não entendi o porque da busca binária precisar ser uma lista ordenada? Sou iniciante em programação, comecei estudando por Algoritmos. Espero por sua resposta. Agradecida desde já. At.te; Caroline Harboe.
É porque quando se faz a soma do primeiro índice e do último e divide os índices por 2 vai se encontrar o meio da lista, certo? Daí, achado o meio da lista, ele agora vai comparar se o valor que está inserido no índice do meio é maior ou menor que o valor que se quer achar. E é justamente aqui que a ordenação se torna importante para o algoritmo, porque quando iniciar as comparações (até menos que na busca linear) o valor do meio precisar está correto para servir de comparações, porque se um valor qualquer tiver inserido no meio incorretamente ele pode fazer pesquisas em uma das metades em que o número procurado pode não estar inserido e aí pode retornar mensagem de que não encontrou. Então no caso a ordenação serve até mais para que o algoritmo se torne ainda mais eficiente do que a busca linear que compara um a um, imagina uma lista de 20.000 dados a busca linear com certeza não seria a melhor opção e muito menos uma lista desordenada para o algoritmo de busca binária, se ele não tivesse ordenado PODERIA OU NÃO retornar mensagem de que não foi encontrado mas com certeza o algoritmo não seria eficiente.
Perfeito sua explicação!!! Conteúdo excelente e ainda com exemplo prático. Aprendi mais uma técnica fantástica. Parabéns pelo conteúdo! É por isso que eu estou inscrito no seu canal... kkk
Muito boa explicação!! Até entendi melhor como funcionam os logarítmos! Só um adendo na busca linear. Seria melhor colocar um break ou return dentro do if para que não continue sendo feita a busca depois de achar o elemento. Do jeito que está no seu exemplo, sempre a busca linear vai percorrer todos elementos do array, idependente de onde achar, pois mesmo entrando no if o loop vai para o próximo laço depois até terminar o for. Sucesso aí!
Forma recursiva:
firstIndex = 0;
lastIndex = vector.lenght()-1;
int searchBinary_recursivo(firstIndex, lastIndex, vector)
{ if(vector == null) return -1;
mindIndex = (firstIndex + lastIndex)%2;
if(mindIndex)
if(mindIndex == targetIndex)
return mindIndex;
if( mindIndex < targetIndex )
return searchBinary_recursivo(mindIndex, lastIndex, vector);
if(mindIndex > targetIndex)
return searchBinary_recursivo(firstIndex, mindIndex, vector);
return -1;
}
Mulher, que conteúdo incrível! traz mais vídeos assim de outros algoritmos e estruturas de dados
Muito obrigada! Eu vou trazer
Parabéns pelo conteúdo essencial a comunidade.
Muito obrigada!
Suas aulas são muito boas. Estou aprendendo muito com você.
Aleluia! Agora consegui entender isso. Muito obrigada Gi! conteudo incrivel
Traga mais vídeos, algum projeto de html/css, sua didática é muito boa
Melhor explicação que vi! Parabéns 👏👏👏👏👏👏👏👏👏👏
Ótima explicação, vlw pelo conteúdo ja vai ficar salvo pra futuras consultas
Muito obrigada!
Muito bom Gi, parabéns pelo conteúdo!!! por favor traz mais vídeos nesse tópico, ajudou muito!!!
Muito bem explicado, obrigado pelo conteúdo
Muito obrigada!
Sensacional, didática impressionante!
Muito bom!! Sempre trazendo ótimos conteúdos!
Muito obrigada!
muito boa a explicação!
Giovana, voce já fez um video falando de pesquisa e busca dentro do Core Data?
Regaçou no conteúdo, gigica
Muito obrigada!
Excelente vídeo e explicação !! Mais um inscrito !!
Olá, boa tarde; tudo bem com você?
Ainda não entendi o porque da busca binária precisar ser uma lista ordenada?
Sou iniciante em programação, comecei estudando por Algoritmos.
Espero por sua resposta.
Agradecida desde já.
At.te;
Caroline Harboe.
É porque quando se faz a soma do primeiro índice e do último e divide os índices por 2 vai se encontrar o meio da lista, certo? Daí, achado o meio da lista, ele agora vai comparar se o valor que está inserido no índice do meio é maior ou menor que o valor que se quer achar. E é justamente aqui que a ordenação se torna importante para o algoritmo, porque quando iniciar as comparações (até menos que na busca linear) o valor do meio precisar está correto para servir de comparações, porque se um valor qualquer tiver inserido no meio incorretamente ele pode fazer pesquisas em uma das metades em que o número procurado pode não estar inserido e aí pode retornar mensagem de que não encontrou. Então no caso a ordenação serve até mais para que o algoritmo se torne ainda mais eficiente do que a busca linear que compara um a um, imagina uma lista de 20.000 dados a busca linear com certeza não seria a melhor opção e muito menos uma lista desordenada para o algoritmo de busca binária, se ele não tivesse ordenado PODERIA OU NÃO retornar mensagem de que não foi encontrado mas com certeza o algoritmo não seria eficiente.
Ótimo vídeo, muito obrigado Giovanna!
Muito obrigada!
fala sobre unidades de medidas absolutas e relativas.
Braba! Conteúdo foda 🤘
Muito bom o video
Excelente conteúdo 😁
Muito obrigada!
Perfeito sua explicação!!! Conteúdo excelente e ainda com exemplo prático. Aprendi mais uma técnica fantástica. Parabéns pelo conteúdo! É por isso que eu estou inscrito no seu canal... kkk
Muito obrigada!
INCRÍVEL ❤
Muito obrigada!
Giovanna, na busca linear, você esqueceu de dar o break assim que o elemento for encontrado:
index = i;
break;
e os slides disponibiliza aii
essa menina eh braba
Aulas e palestras que fala né? 🤯
Muito obrigada!
Giovanna faz codigo pra l9tofacil
Nao entendi kkkkkk
que gata ein