Diferența dintre căutarea binară și căutarea liniară

Anonim

Caută liniară

Căutarea liniară, cunoscută și ca căutare secvențială, este cel mai simplu algoritm de căutare. Se caută o valoare specificată într-o listă, verificând fiecare element din listă. Căutarea binară este, de asemenea, o metodă utilizată pentru a localiza o valoare specificată într-o listă sortată. Metoda de căutare binară reduce în jumătate numărul de elemente verificate (în fiecare iterație), reducând timpul necesar localizării elementului dat în listă.

Ce este Căutarea liniară?

Căutarea liniară este cea mai simplă metodă de căutare, care verifică fiecare element dintr-o listă succesiv până când găsește un element specificat. Intrarea la metoda de căutare liniară este o secvență (cum ar fi un tablou, o colecție sau un șir) și elementul care trebuie căutat. Ieșirea este adevărată dacă elementul specificat se află în secvența furnizată sau fals dacă nu este în secvență. Deoarece această metodă verifică fiecare element din listă până când elementul specificat este găsit, în cel mai rău caz, va trece prin toate elementele din listă înainte de a găsi elementul necesar. Complexitatea căutării liniare este o (n). Prin urmare, se consideră că este prea lent pentru a fi utilizat atunci când căutați elemente în liste mari. Dar acest lucru este foarte simplu și mai ușor de implementat.

Ce este Căutare binară?

Căutarea binară este, de asemenea, o metodă utilizată pentru a localiza un articol specificat într-o listă sortată. Această metodă începe prin compararea elementului căutat cu elementele din mijlocul listei. Dacă comparația determină faptul că cele două elemente sunt egale, metoda oprește și returnează poziția elementului. Dacă elementul căutat este mai mare decât elementul intermediar, acesta pornește din nou metoda folosind numai jumătatea inferioară a listei sortate. Dacă elementul căutat este mai mic decât elementul intermediar, acesta pornește din nou metoda folosind doar jumătatea superioară a listei sortate. Dacă elementul căutat nu se află în listă, metoda va returna o valoare unică indicând faptul că. Prin urmare, metoda de căutare binară împarte numărul de elemente comparate (în fiecare iterație), în funcție de rezultatul comparației. În consecință, căutarea binară rulează în timp logaritmic, rezultând o performanță de caz o (log n) medie.

Care este diferența dintre căutarea binară și căutarea liniară?

Chiar dacă atât căutarea liniară cât și căutarea binară sunt metode de căutare, ele au mai multe diferențe. În timp ce căutarea binară funcționează pe liste sortate, căutarea liniilor poate funcționa și pe liste nesortate. Sortarea unei liste are, în general, o complexitate medie a cazului n log n. căutarea liniară este simplă și simplă de implementat decât căutarea binară. Dar căutarea liniară este prea lentă pentru a fi utilizată cu liste mari datorită performanței sale medii o (n).Pe de altă parte, căutarea binară este considerată a fi o metodă mai eficientă care ar putea fi utilizată cu liste mari. Dar implementarea căutării binare ar putea fi destul de complicată și un studiu a arătat că codul exact pentru căutarea binară se găsește doar în cinci din cele douăzeci de cărți.