Legrosszabb eseti komplexitás

A Wikipédiából, a szabad enciklopédiából

A számítástechnikában (kifejezetten a számítási komplexitás elméletében) a legrosszabb eseti komplexitás méri az erőforrásokat (pl. futási idő, memória), amire egy algoritmusnak szüksége van egy tetszőleges méretű bemenet (gyakran n-ként jelölve) esetén. Megadja az algoritmus által használt erőforrások felső korlátját.

Futási időben a legrosszabb eseti időkomplexitás jelzi a leghosszabb futási időt, amit egy algoritmus teljesített bármilyen n méretű bemenet esetén, ezzel garantálja, hogy az algoritmus le fog futni a jelzett időtartamon belül. A legrosszabb eseti komplexitás növekedés rendje (pl. lineáris, logaritmikus) gyakran használt algoritmusok hatékonyságának összehasonlítására.

Egy algoritmus legrosszabb eseti komplexitását érdemes összevetni az átlagos eseti komplexitásával, ami egy átlagos mértéke az algoritmus által használt erőforrásoknak egy véletlen bemenet esetén.

Definíció[szerkesztés]

Adott számítási modell és egy algoritmus esetén, ami megáll minden bemenetnél , a leképzést időkomplexitásának hívjuk, ha minden bemeneti karakterlánc esetén megáll pontosan lépés után.

Mivel általában az időkomplexitásnak a különböző bemeneti hosszaktól való függése érdekel, a terminológiát abuzálva az időkomplexitás néha a leképzésre utal, a következő maximális komplexitással:

ahol a bemenetek hossza vagy mérete .

Kifejezési módok[szerkesztés]

Egy algoritmus komplexitása gyakran aszimptotikus O jelöléssel van megadva, ami a növekedési mértékét formában adja meg egy bizonyos valós értékű függvénnyel és a következő jelentéssel:

  • Létezik pozitív valós szám és egy természetes szám úgy, hogy

Szavakban ez a következőképp fogalmazható meg:

  • „Az algoritmus legrosszabb eseti komplexitása .”

vagy még rövidebben:

  • „Az algoritmus komplexitása .”

Példák[szerkesztés]

Vegyük például egy beszúrásos rendezés elvégzését számon egy véletlen hozzáférésű gépen. A legjobb eset az algoritmusnak az, amikor a számok már rendezettek, ami lépést jelent a feladat elvégzésére. A legrosszabb bemenet az algoritmusnak az, amikor a számok fordított sorrendben vannak, ekkor lépésre van szükség a rendezésükre; következésképpen a legrosszabb eseti időkomplexitása a beszúró rendezésnek .

Fordítás[szerkesztés]

  • Ez a szócikk részben vagy egészben a Worst-case complexity című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források[szerkesztés]

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest és Clifford Stein. Introduction to Algorithms. Második kiadás. MIT Press és McGraw-Hill, 2001.ISBN 0-262-03293-7. 2.2. fejezet: Analyzing algorithms, 25-27.
  • Oded Goldreich. Computational Complexity: A Conceptual Perspective. Cambridge University Press, 2008.ISBN 0-521-88473-XISBN 0-521-88473-X, 32. o.