兩點不太懂!
函數(shù)中,位于遞歸調(diào)用前的語句和各級被調(diào)用函數(shù)具有相同的執(zhí)行順序;
遞歸函數(shù)中,位于遞歸調(diào)用后的語句的執(zhí)行順序和各個被調(diào)用函數(shù)的順序相反;
這兩句話是什么意思???能幫忙解釋一下嗎?
函數(shù)中,位于遞歸調(diào)用前的語句和各級被調(diào)用函數(shù)具有相同的執(zhí)行順序;
遞歸函數(shù)中,位于遞歸調(diào)用后的語句的執(zhí)行順序和各個被調(diào)用函數(shù)的順序相反;
這兩句話是什么意思???能幫忙解釋一下嗎?
2016-06-01
舉報
2016-10-05
我先把??getPeachNumbe 簡寫成 gN。這個n是天數(shù)的意思。
首先 它給了我們?int num = getPeachNumber(1);
gN(1);中n=1代入?(getPeachNumber(n+1)+1)*2;
就會有 ?(gN(1+1)+1)*2 ? ? ?這時gN(1+1)=gN(2)對吧?可是gN(2)等于多少我們又不知道,所以重新代入??(getPeachNumber(n+1)+1)*2; ? 就會出現(xiàn) ?(gN(2+1)+1)*2 ,這時又出現(xiàn)了 gN(3) 我們還是不知道,就繼續(xù).....(以此類推) 到后面就有當 n==10時 return=1 就是說gN(10)=1 。這時g(10)等于多少我們知道,就代入gN(9)的式子里面得出桃子數(shù),然后算上去。因為最先得出第九天的桃子所以程序先輸出。
? n=1時 (gN(1+1)+1)*2 ? ——》里面gN(2)的值不知道
? n=2 ? ? (gN(2+1)+1)*2 ——》gN(3)的值不知道
? ? n=3 ?(gN(3+1)+1)*2 ——》gN(4)不知道 ? ? ?
? ? ?n=4?(gN(4+1)+1)*2 ——》gN(5)不知道
? ? n=5? (gN(5+1)+1)*2 ——》gN(6)不知道 ? ?? ? ? ? ? ? <—————— 這些是 位于遞歸調(diào)用前的語句和各級被 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?調(diào)用函數(shù)具有 相同 的執(zhí)行順序?
? ? ??n=6(gN(6+1)+1)*2 ——》gN(7)不知道
? ? ? n=7(gN(7+1)+1)*2 ——》gN(8)不知道
? ? ?n=8?(gN(8+1)+1)*2 ——》gN(9)不知道
? ? ? n=9(gN(9+1)+1)*2 ——》gN(10)?知道
? ? ? ? ? n==10 ?則 return 1;所以gN(10)=1.
? ? ? ?現(xiàn)在開始往回帶,因為gN(10)=1代入gN(9)能登出gN(9)等于多少,接著就gN(8) 推上去.....
? ? ? ?n=9 ? (gN(9+1)+1)*2 ——》gN(9) ?= (1+1)*2=4 ? ??
? ? ? n=8 ? ?(gN(8+1)+1)*2 ——》gN(8) ?= (4+1)*2=10 ? ? ? ?<—— 這些?遞歸函數(shù)中,位于遞歸調(diào)用后的語句的執(zhí) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 行順序和各個被調(diào)用函數(shù)的 順序相反
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 。。。。推下出。
??希望能幫到你 :)
2016-06-06
這好比我們進入一層套一層的房子來取房子中的蘋果,只是進去的過程只管開門、進入,而不取蘋果,直到最里層,再退出房子,隨手從里到外依次把房子里的蘋果取出來。
這里,房子是遞歸函數(shù),進入房子的鑰匙是遞歸函數(shù)被調(diào)用語句前的語句,進入1層房子需要1號鑰匙,進入2層房子需要2號鑰匙,所以說使用鑰匙的順序和開門的順序相同的。
蘋果是調(diào)用遞歸函數(shù)語句后的語句,可以看出取蘋果的順序和開門的順序是相反的。
2016-06-02
前面一句意思是:對于遞歸調(diào)用那一行語句之前的程序,先執(zhí)行遞歸函數(shù)第一層然后再到第二層函數(shù),再是第三層函數(shù)。 ? 后面一句是說遞歸調(diào)用那一行后面的語句是最后執(zhí)行第一層,然后倒數(shù)第二,,比如后面是輸出語句,那就是第一層的輸出是最后輸出。像右邊的例子中,n=1是第一層,n=2是第二層,輸出的時候就是”第1天所剩桃子1534個”最后輸出。。。。