List hézagokkal

List hézagokkal (angol hagyja listában.) - a keresési adatok szerkezetét, amely megvalósítja az interfészt egy rendezett halmaz, lehetővé teszi a keresési műveleteket, hozzáadhat és eltávolíthat elemeket a listában viszonylag rövid idő alatt.

Keressen egy elemet a listában készült; hozzáadását és törlését elemet illeszt történik egyidejűleg a keresést, de ezeket a műveleteket tudja lassítani keresés a szerkezetben.

[Rule] Építőipar

Sorolja a felvételi alapján a meglévő egyszerűen csatlakoztatva rendezett lista.

Azáltal, hogy további rétegeket melyek mindegyike egy korábbi szintet anélkül furcsa elemek, képesek leszünk keresni, beszúrás és törlés művelethez hasonló elemeket bináris kereső fába. Ennek megfelelően a aszimptotikus viselkedését ezek a műveletek lesz.

List hézagokkal

[Rule] műveletek a szerkezet

[Edit] Elem keresése

Tegyük fel, hogy a listánkon hézagokkal jelenlegi szinten, az első szint () az eredeti listán.

Ebben az esetben a kereső algoritmus ebben a struktúrában lesz a következő műveletek:

  1. Kezdjük keresi az elemet a felső list (), nézd meg az első elem
  2. Folytassa a következő elemet a listában, amíg az érték a szomszédos cellában kisebb vagy egyenlő kulcs
  3. Mozgás egy szinttel lejjebb, és lépjen a 2. Ha a szóban forgó elem található az alsó szinten -, hogy ki a keresést

Példa a megállapítás a szám a listán a leírások:

List hézagokkal

Tekintsük a munka egy kétszintű listában. Aztán, amíg a keresési algoritmus függ a tételek számát a szinten. Képzeljük el, hogy ezen a szinten véletlenszerűen kapott néhány elemet. Ezért a legrosszabb esetben, találjuk a következő becslést a munka:

Minimalizálása, megkapjuk, hogy

Ennek eredményeképpen az idő, amit találunk egy eleme a kétszintű listában rések lesznek:

Azt is ellenőrizze, hogy a lista felvételi, szintje van, az lenne a legjobb dolgozni szinten az elemeket; A művelet egy ilyen lista lenne ugyanaz. Szintjei számára egyszerre munka lesz

[Rule] beilleszthető elem

Elem beillesztése egy listát a kihagyások, vesszük a következő lépéseket:

  1. Keresse a keresési algoritmus a helyzetben, amikor be kell helyeznie ezt a tételt
  2. Beírása eleme a kisebb szintű lista hézagokkal
  3. „Dobd érme”, és attól függően, hogy az eredmény push-elem egy magasabb szintre
  4. Ismételjük meg az előző lépést, amíg azt „flip egy érmét” pozitív eredményt ad

Így ha egy pénzérmét, a várt elemek száma megegyezik a második szint, harmadik szint, stb Szintjén lennénk egyik eleme. És ennek megfelelően van valószínűsége elemmel a második szinten -, a harmadik, stb Valószínűsége, hogy az egyenlő szinten.

Egy érme segítségével eloszlása ​​eltér, akkor befolyásolhatja az elemek számát a felső szinten. Például, ha egy érmével az elosztó>, a várható tételek száma ugyanabban, minden szinten lesz az előzőtől; Keresés idő megegyezik. Ennek megfelelően, ha egy érmét szintek és így a becslés korábban kapott. Az extrém eloszlások:

  • -
  • - (ha lehetővé teszi hozzá az új szinteket, ha nyomva elem után dobott egy érmét, egyébként)

[Rule] eltávolítása elem

Az algoritmus elég távol triviális.

  1. Keressen egy cserélhető elem
  2. Vegye ki a minden szinten

[Rule] pszeudókód

Példaképpen, de nem túl hatékony memória változata a lista hiányosságok.

A listában a csomópontok tárolják:

  • - a következő csomópontot
  • - ugyanazon a csomóponton a következő szinten
  • - az adattípus T
  • - Kulcs típusa K

Keresés legfontosabb elemei:

[Rule] Alkalmazás

  • adatbázisok
  • Elosztott számítási és p2p
  • Méretezhető párhuzamos prioritásos sor és szótárak

A számítógépi geometria széles körben használják a lista alapján struktúra hiányosságok.

[Szerkesztés]. Továbbá

Szerkezet alapján a lista hiányosságok:

[Rule] Információ források

Kapcsolódó cikkek