Diferença entre busca binária e pesquisa linear
Busca binária versus Pesquisa linear
A busca linear, também conhecida como busca seqüencial, é o algoritmo de pesquisa mais simples. Ele procura um valor especificado em uma lista, verificando cada elemento na lista. A pesquisa binária também é um método usado para localizar um valor especificado em uma lista ordenada. O método de pesquisa binária separa o número de elementos verificados (em cada iteração), reduzindo o tempo necessário para localizar o item fornecido na lista.
O que é Linear Search?
A busca linear é o método de pesquisa mais simples, que verifica cada elemento em uma lista seqüencial até encontrar um elemento especificado. A entrada para o método de busca linear é uma seqüência (como uma matriz, coleção ou uma string) e o item que precisa ser pesquisado. A saída é verdadeira se o item especificado estiver dentro da seqüência fornecida ou falso se não estiver na seqüência. Uma vez que este método verifica cada item na lista até encontrar o item especificado, no pior caso, ele passará por todos os elementos da lista antes de encontrar o elemento necessário. A complexidade da busca linear é o (n). Por isso, considera-se que é muito lento para ser usado na busca de elementos em grandes listas. Mas isso é muito simples e fácil de implementar.
O que é Binary Search?
A pesquisa binária também é um método usado para localizar um item especificado em uma lista ordenada. Esse método começa comparando o elemento pesquisado com os elementos no meio da lista. Se a comparação determinar que os dois elementos são iguais, o método pára e retorna a posição do elemento. Se o elemento pesquisado for maior que o elemento do meio, ele inicia o método novamente usando apenas a metade inferior da lista ordenada. Se o elemento pesquisado for inferior ao elemento do meio, ele inicia o método novamente usando apenas a metade superior da lista ordenada. Se o elemento procurado não estiver dentro da lista, o método retornará um valor exclusivo indicando isso. Portanto, o método de pesquisa binária separa o número de elementos comparados (em cada iteração), dependendo do resultado da comparação. Conseqüentemente, a busca binária é executada em tempo logarítmico, resultando em o (no caso de log) desempenho médio do caso.
Qual é a diferença entre Pesquisa Binária e Pesquisa Linear?
Embora tanto a busca linear como a pesquisa binária sejam métodos de busca, eles têm várias diferenças. Enquanto a pesquisa binária opera em listas ordenadas, a pesquisa de linha também pode ser operada em listas não ordenadas. Ordenar uma lista geralmente tem uma complexidade de caso média de n log n. A pesquisa linear é simples e direta de implementar do que a pesquisa binária. Mas, a pesquisa linear é muito lenta para ser usada com grandes listas devido ao seu desempenho de caso médio (n).Por outro lado, a pesquisa binária é considerada um método mais eficiente que pode ser usado com grandes listas. Mas implementar a pesquisa binária pode ser bastante complicado e um estudo mostrou que o código exato para pesquisa binária pode ser encontrado em apenas cinco dos vinte livros.