2014-05-10 79 views
1

我的作業有這個問題,我不明白。什麼是間接遞歸?

假設有四種方法A,B,C,和D. 方法A調用方法B,和方法B調用方法A. 方法C調用方法d和方法d調用方法A. 哪以下方法是間接遞歸的?

什麼是間接遞歸,什麼不是?

+3

http://www.cs.sfu.ca/~tamaras/recursion/Direct_vs_Indirect.html – geedubb

+1

取直接遞歸的定義 - 一種調用自身的方法 - 然後將其應用於間接方法 - 調用另一種方法的方法它調用原始的調用方法。 – Makoto

+0

那麼它會是B和A,因爲他們是唯一回到原來的那個。 – aeipownu

回答

3
A -> B -> A <- D <- C 

Indirectly Recursive:方法A和B,因爲它們間接地通過調用彼此自稱。

Directly Recursive:沒有任何方法調用它們自己。

有關詳細信息,請參閱此link

+0

我認爲你可能錯過了它,但它是A和B.你是正確的A是間接的,因爲它呼叫B再次呼叫A。 B做同樣的事情。 – aeipownu

+0

你是對的!我想這一切都取決於你看待事物的深度程度:)相應地編輯了答案。 –