elsőbbségi sor
Kiejtés
- IPA: [ ˈɛlʃøːpʃeːɡiʃor]
Főnév
Az elsőbbségi sor (priority queue) egy speciális adatstruktúra, amelyben minden elemhez tartozik egy prioritás, és mindig a legnagyobb (vagy legkisebb, ha minimális prioritású a sor) prioritású elem kerül először kiszolgálásra. Ez különbözik a hagyományos soroktól, ahol az elemek érkezési sorrendben kerülnek kiszolgálásra (FIFO).
Tulajdonságai:
- Az elemek rendezve vannak prioritás szerint.
- Alapvető műveletek:
- Beszúrás (insert): Egy elem hozzáadása adott prioritással.
- Legnagyobb/legkisebb prioritású elem kivétele (extract-max vagy extract-min): A legnagyobb (max-prioritású sor) vagy legkisebb (min-prioritású sor) prioritású elem kivétele a sorból.
- Csúcs prioritású elem lekérdezése (peek vagy get-max/get-min): Megnézi a legnagyobb/legkisebb prioritású elemet anélkül, hogy eltávolítaná.
Implementációk:
Az elsőbbségi sort többféleképpen implementálhatjuk:
1. Lista vagy tömb:
- A beszúrás egyszerűen hozzáfűzi az elemet a végére.
- A kivétel előtt rendezni kell a listát.
- Időbonyolultság:
- Beszúrás: (O(1))
- Kivétel: (O(n)) (ha rendezni kell).
2. Rendezett lista:
- Az elemek mindig rendezetten vannak tartva.
- Időbonyolultság:
- Beszúrás: (O(n))
- Kivétel: (O(1)).
3. Kétdimenziós tömb (hash):
- Az elemek prioritás szerint csoportosítva vannak.
- Kivétel és beszúrás gyors, de csak speciális esetekre alkalmas.
4. Heap (halom):
- A leggyakoribb implementáció.
- A halom egy részben rendezett bináris fa (általában bináris heap):
- Max-heap: A szülőcsomópont értéke mindig nagyobb vagy egyenlő a gyerekek értékével.
- Min-heap: A szülőcsomópont értéke mindig kisebb vagy egyenlő a gyerekek értékével.
- Időbonyolultság:
- Beszúrás: (O(n))
- Kivétel: (O(n)).
- Ez az implementáció gyakran használja tömbbel való reprezentációt.
5. Binomiális halom és Fibonacci halom:
- Speciális változatok, amelyek a heapet optimalizálják bizonyos műveletekre.
- Hatékonyabbak, ha sok egyesítési művelet szükséges (merge).
Felhasználási területek:
- Gráfalgoritmusok:
- Dijkstra algoritmus (legkisebb út keresése).
- Prim algoritmus (minimális feszítőfa keresése).
- Ütemezési problémák:
- Operációs rendszerek folyamat- vagy szálütemezése.
- Adatfeldolgozás:
- Tetszőleges nagy adatmennyiség szűrése és feldolgozása prioritások szerint.
- Egyéb problémák:
- Játékokban ellenségek vagy események kezelése prioritások alapján.
- Hátizsák-probléma bizonyos változatai.
Fordítások
- angol: priority queue (en)
- orosz: очередь с приоритетом (ru) (očeredʹ s prioritetom)
- elsőbbségi sor - Értelmező szótár (MEK)
- elsőbbségi sor - Etimológiai szótár (UMIL)
- elsőbbségi sor - Szótár.net (hu-hu)
- elsőbbségi sor - DeepL (hu-de)
- elsőbbségi sor - Яндекс (hu-ru)
- elsőbbségi sor - Google (hu-en)
- elsőbbségi sor - Helyesírási szótár (MTA)
- elsőbbségi sor - Wikidata
- elsőbbségi sor - Wikipédia (magyar)