Online rekursiv algoritme visualisering
Visualiser factorial(n) med indlejret kaldsekvens og eksakte BigInt-resultater for n fra 0 til 200. Indtast et tal og se rekursionen trin for trin. Behandlin…
Begynd at bruge
Forstå rekursion med et konkret eksempel
Rekursion kan være svært at forstå, fordi funktionen kalder sig selv. Denne visualisering hjælper dig med at se præcis, hvordan factorial(n) udfolder sig trin for trin. For eksempel, hvis du indtaster n=3, vises følgende kaldsekvens:
factorial(3)
factorial(2)
factorial(1)Bemærk, at hvert rekursivt kald er indrykket med to ekstra mellemrum. Til sidst vises resultatet 6, fordi 3! = 3 × 2 × 1 = 6.
Hvad visualiseringen viser
- Den indlejrede kaldsekvens for én direkte rekursiv factorial-kæde.
- Basiskassen: n <= 1.
- Eksakte heltalsresultater ved hjælp af BigInt-multiplikation, så factorial(200) vises som et præcist tal i stedet for at blive til Infinity efter 170.
- Indrykning, der vokser lineært med n.
Begrænsninger og vigtige detaljer
- Visualiseringen udfører ikke brugerdefineret kode, animerer ikke en call stack eller viser returneringer på separate trin.
- Den visualiserer kun factorial, ikke Fibonacci eller andre rekursive funktioner.
- Den faste grænse på 200 forhindrer for stor rekursion eller output.
- Beregningen er pædagogisk og kører i browseren.
Praktisk tjekliste
- Indtast et heltal mellem 0 og 200.
- Vælg et tal, der er let at følge, f.eks. 3 eller 4.
- Kontrollér, at indrykningen øges med to mellemrum pr. niveau.
- Verificér, at resultatet er et eksakt heltal (BigInt).
- Prøv n=0 og n=1 for at se basiskassen.
- Prøv n=200 for at se et meget stort tal.
Ofte stillede spørgsmål
Hvorfor vises resultatet som et heltal uden decimaler?
Fordi beregningen bruger BigInt-multiplikation, hvilket giver eksakte heltal for alle værdier op til 200. Almindelige JavaScript-tal (Number) ville blive til Infinity efter 170, men BigInt undgår det.
Kan jeg visualisere andre rekursive funktioner som Fibonacci?
Nej, denne visualisering er specifikt bygget til factorial. Den viser kun den direkte rekursive kaldkæde for factorial(n).
Hvad sker der, hvis jeg indtaster et tal større end 200?
Inputtet afvises. Grænsen på 200 er fast for at forhindre for stor rekursion eller output, så du kan ikke overskride den.
Behandlingen foregår lokalt i din browser.