JavaScript 中列印倒序計數的遞迴迴圈


在給定的問題陳述中,我們必須使用 JavaScript 編寫程式碼,透過遞迴迴圈列印倒序計數。基本上,我們要以倒序(或降序)列印計數。

什麼是遞迴技術?

遞迴技術是一種透過將問題分解成更小的相同問題來解決問題的方法,直到達到基本情況。該函式呼叫自身並使用不同的引數來獲得所需輸出。當問題的解決方案取決於解決問題的較小部分時,通常會使用這種方法。例如,斐波那契數列就是一個可以使用遞迴解決的經典例子。

理解問題陳述

問題陳述是使用 Javascript 編寫一個函式,透過該函式我們可以列印倒序計數或降序數字。我們必須透過遞迴演算法實現此程式碼。遞迴迴圈是一個呼叫自身的迴圈,可用於解決解決方案取決於解決較小問題的那些問題。在我們的例子中,我們必須列印倒序計數,這意味著從給定數字開始,迴圈應該以降序列印每個整數,直到它變為零。

給定問題的邏輯

因此,我們將建立一個函式,該函式將用於呼叫自身以列印從 n 到 0 的計數。該函式將接受單個引數 n,這裡 n 將表示要執行的迭代次數。函式中的第一個情況將是基本情況,其中 n 為零,因此函式將列印 0 並返回函式外部。如果 n 不等於零,則函式將列印 n 的當前值,然後將自身呼叫 n-1 作為引數。

演算法

步驟 1 - 建立一個遞迴函式,列印從 n 到 0 的倒序計數。

步驟 2 - 檢查 n 是否等於零的條件。如果為零,則返回 n 的值並停止迴圈。

步驟 3 - 建立一個遞迴情況,其中 n 不等於零。因此,使用 n-1 作為引數在上述函式內呼叫該函式。

步驟 4 - 呼叫已建立的函式以列印所需結果。

演算法程式碼

function invertedCount(n) {
   // Base case
   if (n === 0) {
      console.log(n);
      return;
   }
   // Recursive case
   console.log(n);
   invertedCount(n - 1);
}
// Call the function with an argument
console.log("The inverted count is as follows");
invertedCount(5);

複雜度

上述遞迴函式的時間複雜度為 O(n),因為它執行單個操作,因為它為從 n 到 0 的每個值列印 n 的當前值。並且該函式的空間複雜度為 O(n),因為它為函式的每次遞迴呼叫建立一個新堆疊。

結論

因此,列印倒序計數的遞迴迴圈是一個簡單的演算法。該函式使用遞迴技術來獲得所需的結果。該演算法的時間複雜度為 O(n),空間複雜度為 O(n)。

更新於:2023年5月18日

344 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.