Dalam kod ini, saya cuba memahami konsep rekursi, tetapi saya benar-benar kehilangan maksud:sum(arr, n) = sum(arr, n - 1) + arr[n - 1];
Saya ada kod ini:
function sum(arr, n){ if(n <= 0){ return 0; } else { return sum(arr, n - 1) + arr[n - 1]; } } console.log(sum([5, 4, 7, 9, 2, 6], 5);
Saya cuba memahami ungkapan:sum(arr, n - 1) + arr[n - 1];Adakah ini kesnya: Dalamsum(arr, n - 1), n ialah (indeks - 1) atau (n - 1) ialah panjang item tatasusunan yang akan ditambah. Selain itu, selepas melakukan ini, bagaimana pula dengan ungkapan kedua arr[n - 1]. Adakah [n-1] elemen tatasusunan?
Maaf jika ada yang bodoh atau menjengkelkan, tetapi jika sesiapa boleh membantu menunjukkan saya ke arah yang betul, saya amat berterima kasih.
Fungsi anda
sum(arr,n)可以描述为计算arr[0]+...+arr[n-1].Ini bersamaan dengan
arr[0]+...+arr[n-2]+arr[n-1]Ini bersamaan dengan
sum(arr,n-1) + arr[n-1]Satu-satunya kes di mana peraturan ini tidak terpakai ialah apabila
n<=0, di mana jumlahnya ialah 0.