Logo sv.boatexistence.com

Är rekursiva funktioner snabbare än iteration?

Innehållsförteckning:

Är rekursiva funktioner snabbare än iteration?
Är rekursiva funktioner snabbare än iteration?

Video: Är rekursiva funktioner snabbare än iteration?

Video: Är rekursiva funktioner snabbare än iteration?
Video: Comparing Iterative and Recursive Factorial Functions 2024, Maj
Anonim

Den rekursiva funktionen körs mycket snabbare än den iterativa Anledningen är att i den senare behövs ett CALL till funktionen st_push för varje objekt och sedan ytterligare ett till st_pop. I det förra har du bara det rekursiva CALL för varje nod. Dessutom går det otroligt snabbt att komma åt variabler på callstack.

Är rekursiv eller iterativ snabbare?

Memoisering gör rekursion tilltalande, men verkar som iteration alltid är snabbare Även om rekursiva metoder går långsammare använder de ibland färre rader kod än iteration och för många är de lättare att förstå. Rekursiva metoder är användbara för vissa specifika uppgifter också, som att korsa trädstrukturer.

Är iterativa lösningar snabbare än rekursiva lösningar?

Däremot är iterativa lösningar vanligtvis snabbare än rekursiva lösningar när det gäller hastighet. … I ett standardprogrammeringsspråk, där kompilatorn inte har tail-rekursiv optimering, är rekursiva anrop vanligtvis långsammare än iteration.

Är rekursion lättare än iteration?

Faktum är att rekursion sällan är det mest effektiva sättet att lösa ett problem, och iteration är nästan alltid effektivare Detta beror på att det vanligtvis är mer omkostnader förknippat med att göra rekursiv samtal på grund av att samtalsstacken används så hårt under rekursion.

Vilka är nackdelarna med rekursion?

Nackdelar med rekursion

  • Rekursiva funktioner är i allmänhet långsammare än icke-rekursiva funktioner.
  • Det kan kräva mycket minnesutrymme för att hålla mellanresultat på systemstackarna.
  • Svårt att analysera eller förstå koden.
  • Det är inte mer effektivt när det gäller rums- och tidskomplexitet.

Rekommenderad: