Juhuslike Ja Rekursiivsete Algoritmide Erinevus

Juhuslike Ja Rekursiivsete Algoritmide Erinevus
Juhuslike Ja Rekursiivsete Algoritmide Erinevus

Video: Juhuslike Ja Rekursiivsete Algoritmide Erinevus

Video: Juhuslike Ja Rekursiivsete Algoritmide Erinevus
Video: Algorithms Summary 2024, Mai
Anonim

Juhuslik vs rekursiivne algoritm

Randomiseeritud algoritmid kaasavad oma loogikasse juhuslikkuse tunde, tehes algoritmi täitmise ajal juhuslikke valikuid. Selle juhuslikkuse tõttu võib algoritmi käitumine muutuda isegi fikseeritud sisendi korral. Paljude probleemide jaoks pakuvad randomiseeritud algoritmid kõige lihtsamaid ja tõhusamaid lahendusi. Rekursiivsed algoritmid põhinevad ideel, et probleemi lahenduse võib leida sama probleemi väiksematele alamprobleemidele lahenduste leidmisega. Rekursiooni kasutatakse laialdaselt arvutiteaduse probleemidele lahenduste leidmiseks ja paljud kõrgetasemelised programmeerimiskeeled toetavad rekursiooni.

Mis on juhuslik algoritm?

Juhuslikult valitud algoritmid hõlmavad juhuslikkuse tunnet, tehes juhuslikke valikuid, mis suunavad algoritmi täitmist. Seda tehakse tavaliselt nii, et täiendava sisendina võetakse pseudorandomarvugeneraatori genereeritud juhuslike arvude komplekt. Seetõttu võib algoritmi käitumine muutuda isegi fikseeritud sisendi korral. Quicksort on laialt tuntud algoritm, mis kasutab juhuslikkuse mõistet ja mille tööaeg on O (n log n), sõltumata sisendi omadustest. Lisaks kasutatakse arvutamise geomeetrias ehituskonstruktsioonide, näiteks kumera kere, randomiseeritud järkjärgulist ehitusmeetodit. Selles meetodis sisestatakse sisendpunktid juhuslikult ja sisestatakse seejärel ükshaaval struktuuri. Randomiseeritud algoritmi rakendamine on suhteliselt lihtne kui deterministliku algoritmi juurutamine sama probleemi jaoks. Randomiseeritud algoritmi kujundamisel on suurim väljakutse asümptootilise analüüsi teostamine aja ja ruumi keerukuse osas.

Mis on rekursiivne algoritm?

Rekursiivsed algoritmid põhinevad ideel, et probleemi lahenduse võib leida sama probleemi väiksematele alamprobleemidele lahenduste leidmisega. Rekursiivses algoritmis on funktsioon määratletud tema varasema versiooni järgi. Oluline on märkida, et sellel ise viitamisel peaks olema lõpetamise tingimus, et vältida iseendale igavesti viitamist. Lõpetamise tingimust kontrollitakse enne enda viitamist. Rekursiivse algoritmi esialgne samm on seotud probleemi rekursiivse määratluse aluslausega. Esialgset sammu järgivad sammud on seotud probleemi induktiivsete klauslitega. Rekursiivsed algoritmid pakuvad paljudes olukordades lihtsamat lahendust ja see on looduslikule mõtteviisile lähemal kui sama probleemi iteratiivne algoritm. Aga üldiseltrekursiivsed algoritmid nõuavad rohkem mälu ja need on arvutuslikult kallid.

Mis vahe on juhuslikul ja rekursiivsel algoritmil?

Juhuslikud algoritmid on algoritmid, mis kasutavad juhuslikkuse tunnet, tehes juhuslikke valikuid, mis võivad mõjutada algoritmi täitmist, rekursiivsed algoritmid on algoritmid, mis põhinevad ideel, et probleemile saab lahenduse leida väiksematele alaküsimustele lahenduste leidmisega sama probleemiga. Juhuslike algoritmide juhuslikkuse tõttu võib algoritmi käitumine muutuda isegi sama sisendi puhul (algoritmi erinevates teostustes). Kuid rekursiivsetes algoritmides pole see võimalik ja rekursiivse algoritmi käitumine oleks fikseeritud sisendi puhul sama.

Soovitatav: