rekursion är en av de mest kraftfulla idéerna i hela datavetenskap . Ofta kallas en " söndra och härska" sätt att lösa problem , kan rekursion dig att lösa ett problem genom att lösa en eller flera " mindre " versioner av samma problem , och sedan göra en liten mängd extra eller kombinera arbete . På detta sätt kan många mycket komplexa problem lösas med otroligt eleganta algoritmer . Saker du behöver
Microsoft Visual Basic
Visa fler instruktioner
1
Skapa ett nytt Visual Basic -funktion . Till exempel : .
Funktion gcd ( ByVal x As Integer , ByVal y As Integer ) Som IntegerEnd Funktion
Denna funktion kommer att beräkna den största gemensamma nämnaren av två tal
2
Lägg ett test mellan funktion och End linjer Funktion för att skilja mellan " base case " och " rekursiv fallet . " Base fall är mycket viktiga i rekursiva funktioner - utan en, kommer din kod brukar orsaka en oändlig loop och troligtvis krascha ditt program . Till exempel ser basfallet för " GCD " funktionen så här :
p Om y = 0 Then ' Detta kommer att vara basen caseElse " Detta kommer att vara den rekursiva caseEnd Om
3
Lägg ett basfall . Detta är det värde som din funktion återvänder när den stöter på ett problem så liten att den inte kan bryta ner det ytterligare. För " GCD " -funktionen , ser det ut så här :
Return x
4
Lägg en rekursiv fall . När din funktion återkommer , åberopar den sig med ett enklare problem som kommer att hjälpa den att lösa större problem . I fallet med " GCD " -funktion , är det enklare problemet väljs så att dess resultat är faktiskt ett resultat för hela komplext problem. Det ser ut så här :
Return gcd ( y , x Mod y )
5
Testa din funktion . Det är alltid viktigt att testa rekursiva funktioner med basfallet och några rekursiva fall som indata . Försök att tänka på tester som kan vara utanför normen , såsom negativa tal .