advanced
Optimering av rekursiva algoritmer
Analysera en ineffektiv rekursiv lösning och omvandla den till en dynamisk programmeringslösning.
📝 Contenu du Prompt
Du har en naiv rekursiv funktion som beräknar det n:te talet i en talserie, vilket leder till exponentiell tidskomplexitet. Din uppgift är att identifiera överlappande delproblem och skriva om funktionen genom att använda memoisering eller en bottentillvägagångssätt (tabulering). Förklara skillnaden i tids- och rumscomplexitet mellan de två metoderna och diskutera när det är lämpligt att använda rekursion kontra iterativa lösningar i ett produktionssystem med begränsat stackminne.