Kezdőoldal » Számítástechnika » Programozás » Hogyan állapítom meg egy...

Hogyan állapítom meg egy algoritmus bonyolultságát?

Figyelt kérdés
Hogy jönnek ki azok bizonyos O(n),O(log n),O(m log n) értékek bonyolultságnak?

2011. nov. 16. 14:31
 1/3 anonim ***** válasza:
egy részletesebb leírás engem is érdekelne! (tudom, keressünk a neten.. :D de ha már itt ez a kérdés, inkább megvárom a választ *me lusta* )
2011. nov. 16. 15:35
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Úgy, hogy bemenet függvényében kiszámolod, hogy hány lépés lesz az algoritmus.


Pl. tipikus probléma: van két tömböd, A és B, meg kell keresni A azon elemeit, amik B-ben nincsenek benne(magyarul különbség).

Ekkor ugye a két tömb mérete m és n, nyilvánvaló, hogy minden A-beli m-re végig kell nézned, hogy benne van e B-ben, tehát n*m lépés szükséges.

Ha egyszerűsítjük a feladatot úgy, hogy mondjuk m=n, akkor világos, hogy ez egy O(n^2), azaz négyzetes futási idejű algoritmus.


Vagy pl. ott van a lineáris keresés algoritmusa:

ez ugye n nagyságú elem esetén a legrosszabb esetben n lépést igényel, tehát ez O(n), azaz lineáris.


Gyorskeresés:

n elemre maximum log2n(azaz 2es alapú logaritmus n) lépésben megtalálja a keresett elemet, tehát ez O(log n).

2011. nov. 16. 18:26
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

Az nem bonyolultság hanem futási idő.

[link]

2011. nov. 18. 23:14
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!