Erinevus Binaarotsingu Ja Lineaarotsingu Vahel

Erinevus Binaarotsingu Ja Lineaarotsingu Vahel
Erinevus Binaarotsingu Ja Lineaarotsingu Vahel

Video: Erinevus Binaarotsingu Ja Lineaarotsingu Vahel

Video: Erinevus Binaarotsingu Ja Lineaarotsingu Vahel
Video: Scratch 2024, Aprill
Anonim

Binaarotsing vs lineaarotsing

Lineaarotsing, tuntud ka kui järjestikune otsing, on lihtsaim otsingu algoritm. See otsib loendis määratud väärtust, kontrollides loendi kõiki elemente. Binaarotsing on ka meetod, mida kasutatakse määratud väärtuse leidmiseks sorteeritud loendis. Binaarotsingu meetod vähendab kontrollitud elementide arvu poole võrra (igas iteratsioonis), vähendades loendis antud üksuse leidmiseks kuluvat aega.

Mis on sirgjooneline otsing?

Lineaarotsing on kõige lihtsam otsimismeetod, mis kontrollib loendi iga elementi järjestikku, kuni leiab kindla elemendi. Lineaarse otsingumeetodi sisendiks on järjestus (näiteks massiiv, kogu või string) ja üksus, mida tuleb otsida. Väljund on tõene, kui määratud üksus on esitatud järjestuses või vale, kui see pole jadas. Kuna see meetod kontrollib loendis kõiki üksusi, kuni määratud üksus on leitud, läbib see halvimal juhul kõik loendis olevad elemendid enne vajaliku elemendi leidmist. Lineaarse otsingu keerukus on o (n). Seetõttu peetakse elementide otsimisel suurtest loenditest liiga aeglast. Kuid see on väga lihtne ja lihtsam rakendada.

Mis on binaarotsing?

Binaarotsing on ka meetod, mida kasutatakse määratud üksuse leidmiseks sorteeritud loendis. See meetod algab otsitud elemendi võrdlemisest loendi keskel olevate elementidega. Kui võrdlusel leitakse, et kaks elementi on võrdsed, peatub meetod ja tagastab elemendi positsiooni. Kui otsitav element on suurem kui keskmine element, käivitab see meetodi uuesti, kasutades ainult sorteeritud loendi alumist poolt. Kui otsitud element on väiksem kui keskmine element, käivitab see meetodi uuesti, kasutades ainult sorditud loendi ülemist poolt. Kui otsitud elementi ei ole loendis, tagastab meetod kordumatu väärtuse, mis näitab seda. Seetõttu binaarse otsingu meetod vähendab võrreldavate elementide arvu (igas iteratsioonis) poole võrra, sõltuvalt võrdluse tulemusest. Järelikultbinaarotsing töötab logaritmilises ajas, mille tulemuseks on o (log n) keskmine juhtumi jõudlus.

Mis vahe on binaarotsingu ja lineaarotsingu vahel?

Kuigi nii lineaarotsing kui ka binaarotsing on otsimismeetodid, on neil mitmeid erinevusi. Kui binaarotsing toimib sorteeritud loendites, saab liinijuhtimine toimida ka sortimata loendites. Loendi sortimisel on juhtude keskmine keerukus tavaliselt n log n. lineaarotsingut on lihtne ja sirgjooneline rakendada kui kahendotsingut. Kuid lineaarne otsing on liiga aeglane, et seda saaks kasutada suurte loenditega selle o (n) keskmise juhtumi toimivuse tõttu. Teiselt poolt peetakse binaarset otsingut tõhusamaks meetodiks, mida saaks kasutada suurte loenditega. Kuid binaarotsingu rakendamine võib olla üsna keeruline ja uuring on näidanud, et binaarotsingu täpse koodi võib leida kahest kahekümnest raamatust.

Soovitatav: