Különbség a lineáris és a bináris keresés között
Tartalom
A lineáris keresés és a bináris keresés a két módszer, amelyeket a tömbökben használnak keresés az elemek. A keresés egy elem megkeresésének eleme az elemek listájában, bármilyen sorrendben vagy véletlenszerűen tárolva.
A fő különbség a lineáris és a bináris keresés között az, hogy a bináris keresés kevesebb időt vesz igénybe egy elem kiválasztott elemlistájából. Tehát arra lehet következtetni, hogy a bináris keresési módszer hatékonysága nagyobb, mint a lineáris keresés.
Egy másik különbség a kettő között az, hogy a bináris keresésnek előfeltétele van, azaz az elemeknek meg kell lenniük kiválogatott míg a lineáris keresésben nincs ilyen előfeltétel. Bár mindkét keresési módszer különböző technikákat alkalmaz, amelyeket az alábbiakban tárgyalunk.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | Lineáris keresés | Bináris keresés |
---|---|---|
Idő komplexitása | TOVÁBB) | O (log 2 N) |
A legjobb eset | Első elem O (1) | Középső elem O (1) |
A tömb előfeltétele | Nem szükséges | A tömbnek rendezett sorrendben kell lennie |
A legrosszabb eset az N számú elem esetében | N nem szükséges összehasonlítás | Csak log után tud következtetni2 N összehasonlítás |
Meg lehet valósítani | Tömb és kapcsolódó lista | Nem lehet közvetlenül végrehajtani a csatolt listán |
Helyezze be a műveletet | Könnyen beilleszthető a lista végére | A rendezett lista karbantartása érdekében feldolgozásra van szükség, hogy beszúrja a megfelelő helyre. |
Algoritmus típusa | Iteratív jellegű | Ossza meg és meghódítsa a természetben |
Hasznosság | Könnyen kezelhető, és nincs szükség megrendelt elemekre. | Mindenesetre trükkös algoritmust és elemeket sorrendbe kell rendezni. |
Kód vonalai | Kevésbé | Több |
A lineáris keresés meghatározása
Lineáris keresés során a tömb minden elemét lekérdezzük logikai sorrendben, és ellenőrizzük, hogy a kívánt elem vagy sem. A keresés sikertelen lesz, ha az összes elemhez hozzáférnek, és a kívánt elem nem található. A legrosszabb esetben az átlagos eset számát a tömb méretének felére (n / 2) kell leolvasni.
Ezért a lineáris keresés úgy definiálható, mint az a technika, amely a tömböt egymás után haladja át, hogy megkeresse az adott elemet. Az alábbiakban bemutatott program a tömb egy elemének kereséssel történő keresését szemlélteti.
Hatékonyság lineáris keresés
A keresési táblázatban egy rekord keresésével végzett időigény vagy összehasonlítások száma meghatározza a technika hatékonyságát. Ha a kívánt rekord a keresési táblázat első pozíciójában van, akkor csak egy összehasonlítást végeznek. Ha a kívánt rekord az utolsó, akkor n összehasonlítást kell végezni. Ha a rekordnak valahol a keresési táblázatban kell szerepelnie, az összehasonlítások száma átlagosan (n + 1/2) lesz. Ennek a technikanak a legrosszabb hatékonysága az O (n), a végrehajtás sorrendjét jelenti.
C Program elem kereséséhez lineáris keresési technikával.
#include A bináris keresés rendkívül hatékony algoritmus. Ez a keresési technika kevesebb időt vesz igénybe az adott elem keresésében a lehető legkevesebb összehasonlítás mellett. A bináris kereséshez először a tömb elemeit kell rendezni. A technika mögötti logika az alábbiakban olvasható: Három eset fordulhat elő: Ismételje meg ugyanazokat a lépéseket, amíg egy elem meg nem található vagy kimerül a keresési területen. Ebben az algoritmusban minden alkalommal csökken a keresési terület. Ezért az összehasonlítások száma legfeljebb log (N + 1). Ennek eredményeként hatékony algoritmus a lineáris kereséshez viszonyítva, de a tömböt a bináris keresés megkezdése előtt meg kell rendezni. C Program egy elem kereséséhez bináris keresési technikával. #include Mind a lineáris, mind a bináris keresési algoritmus hasznos lehet az alkalmazástól függően. Ha egy tömb az adatszerkezet, és az elemek rendezett sorrendben vannak elrendezve, akkor a bináris keresést részesítjük előnyben gyorskeres. Ha a csatolt lista az adatstruktúra, az elemek elrendezésétől függetlenül, akkor a lineáris keresést a bináris keresési algoritmus közvetlen megvalósításának hiánya miatt fogadják el. A tipikus bináris keresési algoritmust nem lehet felhasználni a csatolt listára, mivel a kapcsolt lista jellegű dinamikus, és nem ismert, hogy a középső elem valójában hol van hozzárendelve. Ezért szükség van a bináris keresési algoritmus variációjának megtervezésére, amely képes működni a kapcsolt listán is, mivel a bináris keresés gyorsabban hajtható végre, mint egy lineáris keresés.A bináris keresés meghatározása
Következtetés