szó jelentését keresi. A DICTIOUS-ban nem csak a
szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
szót egyes és többes számban mondani. Minden, amit a
szóról tudni kell, itt található. A
szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
time complexity (tsz. time complexities)
- (informatika) A futásidő-komplexitás (time complexity) azt méri, hogy egy algoritmus milyen mértékben „drága” a bemenet méretének növekedésével, tipikusan azzal arányosítva, hogy a műveletek száma (vagy időigénye) hogyan skálázódik a bemeneti n elemével. A leggyakoribb jelölések a Big O, Big Θ és Big Ω, amelyek a futásidő felső-, pontos- illetve alsó becslését adják meg.
1. Big O jelölés (felső korlát)
ha vannak pozitív konstansok
és
, hogy minden
-ra
Ez azt jelenti, hogy nagy
-nél a futásidő legrosszabb esetben nem nő gyorsabban, mint valamilyen egyszerűbb függvény, például
,
,
,
stb.
2. Big Θ jelölés (szoros becslés)
ha egyszerre
teljesül nagy
-re. Ilyenkor
pontosan jellemzi a növekedést mind alsó, mind felső irányból.
3. Big Ω jelölés (alsó korlát)
ha van
,
, hogy
minden
-ra. Ez a legjobb eset („best-case”) viselkedés alsó korlátját adja meg.
4. Leggyakoribb komplexitási osztályok
Osztály
|
Jelölés
|
Példa algoritmus
|
Konstans
|
|
tömbindexelés, változóhozzáférés
|
Logaritmikus
|
|
bináris keresés
|
Lineáris
|
|
egyszeri végigjárás, összegzés
|
**Lineáris-logarit
|
|
Quicksort (átlagosan), MergeSort
|
Kvadratikus
|
|
buborékrendezés, Shellsort (worst case gap-ssel)
|
Kúbikus
|
|
Floyd–Warshall (legrövidebb utak)
|
Exponenciális
|
|
brute-force részhalmaz-vizsgálat
|
Faktoriális
|
|
teljes permutációs próba
|
5. Legrosszabb, átlagos és legjobb eset
- Legrosszabb eset (worst-case):
a legnagyobb idő, amit a legrosszabb bemenettel okozhatunk.
- Átlagos eset (average-case):
a bemenetek valószínűségi eloszlásán vett várható futásidő.
- Legjobb eset (best-case):
a leggyorsabb lehetséges végrehajtás ideje.
Egy algoritmust gyakran a legrosszabb eseti komplexitása alapján osztályozunk, mert ez garantált határ.
6. Mire jó a komplexitás-elemzés?
- Skálázhatóság előrejelzése Mérjük, hogy 10 × nagyobb adatnál mennyi futásidő-növekedésre számíthatunk.
- Algoritmus-összehasonlítás Ugyanarra a feladatra választhatjuk a gyorsabb aszimptotikailag kedvezőbb eljárást.
- Erőforrás-tervezés Memória- és időigényt becsülhünk előre nagy rendszerekben.
7. Összefoglalás
A futásidő-komplexitás formális fogalmai (Big O, Θ, Ω) nélkülözhetetlenek az algoritmusok elemzésében és összehasonlításában. Segítségükkel nemcsak a mai inputméretekre, de a jövőbeni skálázódásra is rálátást nyerünk, és megalapozottabb döntéseket hozhatunk arról, melyik algoritmust érdemes választani.