JAVA基礎 簡析遞迴演算法

2021-08-14 08:12:39 字數 540 閱讀 2370

概念:

【遞迴演算法:】遞迴演算法是把問題轉化為規模縮小了的同類問題的子問題,然後遞迴呼叫函式(或者過程)來表示函式的解。

【遞迴函式:】乙個過程(或者函式)直接或間接呼叫自己本身,這種過程(或者函式)叫做遞迴函式。

特點:遞迴就是在過程或函式裡呼叫自身。

在使用遞迴策略時,必須有乙個明確的遞迴結束條件。稱為遞迴出口。

實現簡潔,但是效率比較低。

案例:

public

static

int qh(int i)else

}

使用遞迴快速求和:

假設用個比較小的數字舉例子我們現在求1到4相加的和,i傳參4

i=4 qh(4)=4+qh(3) ;

i=3 qh(3)=3+qh(2) ;

i=2 qh(2)=2+qh(1) ;

i=1 qh(1)=1 ;

如此分別向上看,知道qh(1)的值之後,便可分別得到對應的值以及和。

遞迴演算法效率簡析

遞迴最常遇到的問題就是棧溢位 所以在函式遞迴時一定要有合適的終止條件 函式在每次遞迴時,每進行一次新的呼叫,都將建立一批變數,它們將掩蓋遞迴函式前一次呼叫所建立的變數。對於前一節講到的用遞迴函式實現階乘,其實並不是階乘的很好的乙個例子,很多人認為這種做法比較 高階 實則不然,這種做法的效率對於用迴圈...

簡析遞迴思想及其典型演算法

遞迴 也就是在執行過程中自己呼叫自己 乙個過程或 函式在其定義或說明中有直接或間接呼叫自身的一種方法。它通常把乙個大型複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算。它可以用有限的 語句來定義物件的 無限集合 一般來說,遞迴需...

java集合簡析

基本關係 list arraylist linkedlist vector stack set hashmap hashtable weakhashmap 分析 collction list和set同樣繼承collection類。list是順序表,根據下標訪問,允許出現相同的值 set不允許相同的值...