Razlika med linearnim iskanjem in binarnim iskanjem
Vsebina
Linearno iskanje in binarno iskanje sta dve metodi, za katere se uporablja niz iskanje elementi. Iskanje je postopek iskanja elementa v seznamu elementov, shranjenih v poljubnem vrstnem redu ali naključno.
Glavna razlika med linearnim iskanjem in binarnim iskanjem je, da binarno iskanje traja manj časa za iskanje elementov iz razvrščenega seznama elementov. Zato sklepamo, da je učinkovitost binarnega iskanja večja od linearnega iskanja.
Druga razlika med obema je, da je predpogoj za binarno iskanje, tj. Elementi morajo biti razvrščeno medtem ko pri linearnem iskanju ni takšnega predpogoja. Čeprav obe metodi iskanja uporabljata različne tehnike, ki so opisane v nadaljevanju.
- Primerjalna tabela
- Opredelitev
- Ključne razlike
- Zaključek
Primerjalna tabela
Osnove za primerjavo | Linearno iskanje | Binarno iskanje |
---|---|---|
Časovna zapletenost | O (N) | O (dnevnik 2 N) |
Najboljši čas | Prvi element O (1) | Sredinski element O (1) |
Predpogoj za niz | Ni potrebno | Niz mora biti razvrščen |
Najslabši primer za N število elementov | Ni potrebnih primerjav | Zaključi se lahko samo po dnevniku2 N primerjav |
Lahko se izvaja naprej | Array in Povezani seznam | Na povezanem seznamu ni mogoče neposredno izvajati |
Vstavite operacijo | Enostavno se vstavi na koncu seznama | Za vzdrževanje razvrščenega seznama zahtevajte obdelavo, da jo vstavite na svojem primernem mestu. |
Vrsta algoritma | Iterativne narave | Delite in osvajajte v naravi |
Uporabnost | Enostaven za uporabo in nobenih naročenih elementov. | Kakor koli že, zahteven algoritem in elemente je treba organizirati po vrstnem redu. |
Kode vrstice | Manj | Več |
Opredelitev linearnega iskanja
Pri linearnem iskanju se vsak element matrike naloži drug za drugim v logičnem zaporedju in preveri, ali je želeni element ali ne. Iskanje ne bo uspešno, če do vseh elementov dostopate in želenega elementa ne najdete. V najslabšem primeru je število povprečnih primerov, ki jih bomo morda morali skenirati za polovico velikosti matrike (n / 2).
Zato je linearno iskanje lahko definirano kot tehniko, ki zaporedno prehaja matriko za iskanje danega elementa. Spodnji program prikazuje iskanje elementov matrike z iskanjem.
Učinkovitost linearnega iskanja
Učinkovitost tehnike določa časovna poraba ali število primerjav pri iskanju zapisa v iskalni tabeli. Če je želeni zapis na prvem mestu iskalne tabele, se opravi le ena primerjava. Ko je želen zapis zadnji, je treba opraviti n primerjav. Če naj bo zapis nekje v iskalni tabeli, bo v povprečju število primerjav (n + 1/2). Najslabši učinek te tehnike je, da O (n) pomeni vrstni red izvedbe.
Program C iskanje elementa z linearno tehniko iskanja.
#include Binarno iskanje je izjemno učinkovit algoritem. Ta tehnika iskanja porabi manj časa pri iskanju določenega predmeta v minimalnih možnih primerjavah. Za binarno iskanje moramo najprej razvrstiti elemente matrike. Logika te tehnike je podana spodaj: Obstajajo trije primeri: Ponavljajte iste korake, dokler se ne najde element ali izčrpa v iskalnem območju. V tem algoritmu se vsakokratno območje iskanja zmanjša. Zato je število primerjav največ log (N + 1). Kot rezultat, je to učinkovit algoritem v primerjavi z linearnim iskanjem, vendar je treba matrično vrsto razvrstiti, preden opravite binarno iskanje. Program C najti element z binarno tehniko iskanja. #include Tako linearni kot binarni algoritmi iskanja so lahko koristni glede na aplikacijo. Če je matrika struktura podatkov in so elementi razvrščeni v razvrščenem vrstnem redu, je prednostno binarno iskanje hitroiskanje. Če je povezan seznam podatkovna struktura ne glede na to, kako so elementi razporejeni, je linearno iskanje sprejeto zaradi nerazpoložljivosti neposrednega izvajanja algoritma binarnega iskanja. Tipičnega algoritma Binarnega iskanja ni mogoče uporabiti na seznamu, ker je povezan seznam dinamičen in ni znano, kje je srednji element dejansko dodeljen. Zato je treba zasnovati različico algoritma binarnega iskanja, ki lahko deluje tudi na povezanem seznamu, ker je binarno iskanje hitrejše kot linearno iskanje.Opredelitev binarnega iskanja
Zaključek