[問題] 要如何建構程式遞迴的概念

看板Python作者時間5年前 (2020/03/27 13:03), 5年前編輯推噓7(7029)
留言36則, 10人參與, 5年前最新討論串1/1
我學Python大概半個月 之前有學過資料結構和演算法(但沒用程式實作過) leetcode上難度easy的array或是linked list的題目可以解7成 這陣子想說來刷Tree的題目 但沒有一題能夠靠自己想出來 我本身知道遞迴在幹嘛(知道數學遞迴定義) 不過沒辦法自己寫程式跑出正確答案 然後上網看別人的答案又看得懂 看自己的程式又臭又長跑不出答案 但是看到別人的程式才簡單幾行 真的是滿滿的挫折感 程式新手要怎麼建構程式遞迴的概念阿 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.7.105 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1585285392.A.D98.html

03/27 13:16, 5年前 , 1F
回頭去看看數學上定義的遞迴式?
03/27 13:16, 1F

03/27 13:17, 5年前 , 2F
數學定義的遞迴我看得懂 但問題是程式實作不出來 冏
03/27 13:17, 2F
※ 編輯: Kuba4ma (101.10.7.105 臺灣), 03/27/2020 13:18:19

03/27 13:18, 5年前 , 3F
那也有可能是程式實踐能力上並沒有你自己所想的充足,你還
03/27 13:18, 3F

03/27 13:19, 5年前 , 4F
沒法真的做到腦中想什麼就能化為程式寫出來
03/27 13:19, 4F

03/27 13:20, 5年前 , 5F
遞迴說到頭關鍵也就只是寫出遞迴式跟設定終止條件,程式本
03/27 13:20, 5F

03/27 13:20, 5年前 , 6F
身是很精簡的
03/27 13:20, 6F

03/27 13:21, 5年前 , 7F
另外就是 看得懂 跟 懂 往往是兩回事
03/27 13:21, 7F

03/27 13:22, 5年前 , 8F
看得懂有時候是人家寫得很好很漂亮所以好懂,可是你沒有深
03/27 13:22, 8F

03/27 13:22, 5年前 , 9F
入去想為什麼這麼寫,如果這邊那邊改動一下會有什麼效果,
03/27 13:22, 9F

03/27 13:22, 5年前 , 10F
如果自己來寫會用什麼寫法的話,那不能算是真懂
03/27 13:22, 10F

03/27 13:23, 5年前 , 11F
像你也說數學定義的遞迴你看得懂,那你有試過拿習題來自己
03/27 13:23, 11F

03/27 13:24, 5年前 , 12F
實際寫出對應的遞迴式跟終止條件嗎
03/27 13:24, 12F

03/27 13:25, 5年前 , 13F
或是現實要解個什麼問題,你不管三七二十一就是從其中找個
03/27 13:25, 13F

03/27 13:25, 5年前 , 14F
地方用遞迴去思考,有時這雖然不是最佳解法卻可能是很好的
03/27 13:25, 14F

03/27 13:25, 5年前 , 15F
思考訓練
03/27 13:25, 15F

03/27 14:16, 5年前 , 16F
把原問題轉化成有固定降解形式的子問題。
03/27 14:16, 16F

03/27 14:17, 5年前 , 17F
還有對應的邊界條件
03/27 14:17, 17F

03/27 14:39, 5年前 , 18F
我覺得重點就三個啦,前兩個記得一定要有
03/27 14:39, 18F

03/27 14:39, 5年前 , 19F
1.終止條件
03/27 14:39, 19F

03/27 14:39, 5年前 , 20F
2.呼叫自己的方式
03/27 14:39, 20F

03/27 14:39, 5年前 , 21F
3.寫function的過程中呼叫自己的時候可以把這個functio
03/27 14:39, 21F

03/27 14:40, 5年前 , 22F
n當作已經完成了,呼叫了就會有你要的output了,這樣會
03/27 14:40, 22F

03/27 14:40, 5年前 , 23F
容易很多
03/27 14:40, 23F

03/27 15:09, 5年前 , 24F
我只能CO別人寫好的來改...QQ
03/27 15:09, 24F

03/27 16:58, 5年前 , 25F
我刷了一百多題的經驗是,很多tree的簡單題,我想的比一些
03/27 16:58, 25F

03/27 16:58, 5年前 , 26F
中等,甚至困難難度的還要久,難度只能做參考,並不是絕對
03/27 16:58, 26F

03/27 23:00, 5年前 , 27F
發現一整個問題是由小問題組成,可以藉由解決小問題後解
03/27 23:00, 27F

03/27 23:00, 5年前 , 28F
決下一階段的問題,數學上基本的表示為f(x)=f(x-1)
03/27 23:00, 28F

03/28 17:15, 5年前 , 29F
樓上的式子不太精確XD
03/28 17:15, 29F

03/28 17:16, 5年前 , 30F
f(x)=f(x-1)只會得到f(x)=f(1) for all x XD
03/28 17:16, 30F

03/29 03:15, 5年前 , 31F
這資料結構的書不是一開始會教嗎?我記得拿河內塔當例子..
03/29 03:15, 31F

03/29 10:55, 5年前 , 32F
f(x)=f(x-1)是一種遞迴,但不是所有遞迴都可以這樣子表示
03/29 10:55, 32F

03/29 14:44, 5年前 , 33F
費式數列
03/29 14:44, 33F

03/30 00:20, 5年前 , 34F
樓上各位沒錯,只是舉個最簡單的例子XD
03/30 00:20, 34F

04/04 13:50, 5年前 , 35F

04/04 13:51, 5年前 , 36F
python 資料結構的影片
04/04 13:51, 36F
文章代碼(AID): #1UVOaGsO (Python)
文章代碼(AID): #1UVOaGsO (Python)