Puoi eseguire ricerche binarie in una lista collegata?
Puoi eseguire ricerche binarie in una lista collegata?

Video: Puoi eseguire ricerche binarie in una lista collegata?

Video: Puoi eseguire ricerche binarie in una lista collegata?
Video: A Pirate's Life for Me | Critical Role | Campaign 2, Episode 41 2024, Novembre
Anonim

Sì, Ricerca binaria è possibile sul lista collegata se il elenco è ordinato e tu conoscere il conteggio degli elementi in elenco . Ma durante l'ordinamento del elenco , Puoi accedere a un singolo elemento alla volta tramite un puntatore a quel nodo, ovvero un nodo precedente o un nodo successivo.

Quindi, quale sarà la complessità temporale quando una ricerca binaria viene applicata a un elenco collegato?

Complessità temporale non dovrebbe essere maggiore di O(log n). Come l'elenco collegato non non fornire l'accesso casuale se proviamo a applica la ricerca binaria algoritmo volere raggiungere O(n) come dobbiamo trova lunghezza del elenco e vai al centro.

Inoltre, sai come viene implementata la ricerca binaria? Ricerca binaria : Ricerca un array ordinato dividendo ripetutamente il ricerca intervallo a metà. Inizia con un intervallo che copre l'intero array. Se il valore di ricerca chiave è minore dell'elemento al centro dell'intervallo, restringere l'intervallo alla metà inferiore. Altrimenti restringilo alla metà superiore.

Di conseguenza, quale metodo utilizza la ricerca binaria per trovare un elemento in un elenco?

Ricerca binaria funziona su array ordinati. Ricerca binaria inizia confrontando an elemento nel mezzo dell'array con il bersaglio valore . Se il bersaglio valore corrisponde al elemento , viene restituita la sua posizione nell'array. Se il bersaglio valore è inferiore a elemento , il ricerca continua nella metà inferiore dell'array.

Come si scorre un elenco collegato?

Un Iteratore può essere usato per il ciclo attraverso un Lista collegata . Il metodo hasNext() restituisce true se ci sono più elementi in Lista collegata e falso altrimenti. Il metodo next() restituisce l'elemento successivo nel Lista collegata e genera l'eccezione NoSuchElementException se non è presente alcun elemento successivo.

Consigliato: