Randomizált vs rekurzív algoritmus
A véletlenszerű algoritmusok beépítik a véletlenszerűség érzetét a logikájába azáltal, hogy véletlenszerűen választják meg az algoritmus végrehajtása során. Ezen véletlenszerűség miatt az algoritmus viselkedése megváltozhat még rögzített bemenet esetén is. Sok probléma esetén a randomizált algoritmusok biztosítják a legegyszerűbb és leghatékonyabb megoldásokat. A rekurzív algoritmusok azon az elképzelésen alapulnak, hogy megoldást lehet találni egy problémára úgy, hogy megoldásokat talál ugyanazon probléma kisebb alproblémáira. A rekurziót széles körben alkalmazzák a számítástechnika problémáinak megoldására, és számos magas szintû programozási nyelv támogatja a rekurziót.
Mi egy véletlenszerű algoritmus??
A véletlenszerű algoritmusok a véletlenszerűség érzetét tartalmazzák azáltal, hogy véletlenszerű döntéseket hoznak, amelyek irányítják az algoritmus végrehajtását. Ezt általában úgy hajtják végre, hogy egy pseudo-véletlenszerű számgenerátor által generált véletlen számok halmazát veszik be további bemenetként. Emiatt az algoritmus viselkedése megváltozhat még fix bemenet esetén is. A Quicksort egy széles körben ismert algoritmus, amely a véletlenszerűség fogalmát használja, és futási ideje O (n log n), a bemeneti tulajdonságoktól függetlenül. Ezenkívül véletlenszerű növekményes építkezési módszert alkalmaznak olyan épületszerkezetekhez, mint a konvex hajótest a számítási geometria során. Ebben a módszerben a bemeneti pontokat véletlenszerűen permutálják, majd egyenként illesztik be a szerkezetbe. A randomizált algoritmus megvalósítása viszonylag egyszerű, mint egy determinisztikus algoritmus végrehajtása ugyanazon a problémánál. A randomizált algoritmus megtervezésének legnagyobb kihívása az idő és tér komplexitásának aszimptotikus elemzése.
Mi a rekurzív algoritmus??
A rekurzív algoritmusok azon az elképzelésen alapulnak, hogy megoldást lehet találni egy problémára úgy, hogy megoldásokat talál ugyanazon probléma kisebb alproblémáira. Egy rekurzív algoritmusban a függvényt maga a korábbi verzió határozza meg. Fontos megjegyezni, hogy ennek az ön hivatkozásnak befejezési feltétellel kell rendelkeznie, hogy elkerülje a hivatkozást örökre. A befejezés feltételeit ellenőrizni kell, mielőtt maga hivatkozna rá. A rekurzív algoritmus kezdeti lépése a probléma rekurzív meghatározásának alapfeltételéhez kapcsolódik. Az első lépést követő lépések a probléma induktív záradékaihoz kapcsolódnak. A rekurzív algoritmusok sok esetben egyszerűbb megoldást kínálnak, és közelebb állnak a természetes gondolkodásmódhoz, mint ugyanazon probléma iteratív algoritmusa. De általában a rekurzív algoritmusok nagyobb memóriát igényelnek, és számítási szempontból drágák.
Mi a különbség a véletlenszerű és a rekurzív algoritmus között??
A véletlenszerű algoritmusok olyan algoritmusok, amelyek a véletlenszerűség érzetét használják olyan véletlenszerű választások révén, amelyek befolyásolhatják az algoritmus végrehajtását, míg a rekurzív algoritmusok olyan algoritmusok, amelyek azon az elven alapulnak, hogy megoldást lehet találni egy problémára kisebb alproblémák megoldásának megtalálásával. ugyanaz a probléma. A véletlenszerű algoritmusok véletlenszerűsége miatt az algoritmus viselkedése ugyanazon bemenet esetén is megváltozhat (az algoritmus különböző végrehajtásainál). De ez nem lehetséges rekurzív algoritmusokban, és a rekurzív algoritmus viselkedése ugyanolyan lenne egy rögzített bemenetnél.