Você pode fazer uma busca binária em uma lista vinculada?
Você pode fazer uma busca binária em uma lista vinculada?

Vídeo: Você pode fazer uma busca binária em uma lista vinculada?

Vídeo: Você pode fazer uma busca binária em uma lista vinculada?
Vídeo: Lógica de Programação - Algoritmo para Pesquisa Sequencial em Vetores (novo) 2024, Abril
Anonim

Sim, Busca binária é possível no lista ligada se a Lista está ordenado e tu conheça a contagem de elementos em Lista . Mas ao classificar o Lista , você pode acesse um único elemento de cada vez por meio de um ponteiro para esse nó, ou seja, um nó anterior ou próximo.

Então, qual será a complexidade do tempo quando uma pesquisa binária for aplicada a uma lista vinculada?

Complexidade de tempo não deve ser maior do que O (log n). Como lista ligada faz não fornecer acesso aleatório se tentarmos aplicar pesquisa binária algoritmo isso vai alcançar O (n) conforme precisamos achar comprimento do Lista e vá para o meio.

Também sabe, como a pesquisa binária é implementada? Pesquisa Binária : Procurar uma matriz classificada, dividindo repetidamente o procurar intervalo pela metade. Comece com um intervalo cobrindo todo o array. Se o valor do procurar chave é menor do que o item no meio do intervalo, estreite o intervalo para a metade inferior. Caso contrário, estreite-o para a metade superior.

Portanto, qual método a pesquisa binária usa para localizar um elemento em uma lista?

Busca binária funciona em matrizes classificadas. Busca binária começa comparando um elemento no meio da matriz com o alvo valor . Se o alvo valor corresponde ao elemento , sua posição na matriz é retornada. Se o alvo valor é menos que o elemento , a procurar continua na metade inferior da matriz.

Como você itera por meio de uma lista vinculada?

Um Iterator pode ser usado para fazer um loop Através dos um LinkedList . O método hasNext () retorna verdadeiro se houver mais elementos em LinkedList e falso caso contrário. O método next () retorna o próximo elemento no LinkedList e lança a exceção NoSuchElementException se não houver um próximo elemento.

Recomendado: