作者Kuba4ma ()
看板Python
標題[問題] 要如何建構程式遞迴的概念
時間Fri Mar 27 13:03:10 2020
我學Python大概半個月
之前有學過資料結構和演算法(但沒用程式實作過)
leetcode上難度easy的array或是linked list的題目可以解7成
這陣子想說來刷Tree的題目
但沒有一題能夠靠自己想出來
我本身知道遞迴在幹嘛(知道數學遞迴定義)
不過沒辦法自己寫程式跑出正確答案
然後上網看別人的答案又看得懂
看自己的程式又臭又長跑不出答案
但是看到別人的程式才簡單幾行
真的是滿滿的挫折感
程式新手要怎麼建構程式遞迴的概念阿
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.7.105 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1585285392.A.D98.html
1F:→ ddavid: 回頭去看看數學上定義的遞迴式? 03/27 13:16
2F:→ Kuba4ma: 數學定義的遞迴我看得懂 但問題是程式實作不出來 冏 03/27 13:17
※ 編輯: Kuba4ma (101.10.7.105 臺灣), 03/27/2020 13:18:19
3F:→ ddavid: 那也有可能是程式實踐能力上並沒有你自己所想的充足,你還 03/27 13:18
4F:→ ddavid: 沒法真的做到腦中想什麼就能化為程式寫出來 03/27 13:19
5F:→ ddavid: 遞迴說到頭關鍵也就只是寫出遞迴式跟設定終止條件,程式本 03/27 13:20
6F:→ ddavid: 身是很精簡的 03/27 13:20
7F:→ ddavid: 另外就是 看得懂 跟 懂 往往是兩回事 03/27 13:21
8F:→ ddavid: 看得懂有時候是人家寫得很好很漂亮所以好懂,可是你沒有深 03/27 13:22
9F:→ ddavid: 入去想為什麼這麼寫,如果這邊那邊改動一下會有什麼效果, 03/27 13:22
10F:→ ddavid: 如果自己來寫會用什麼寫法的話,那不能算是真懂 03/27 13:22
11F:→ ddavid: 像你也說數學定義的遞迴你看得懂,那你有試過拿習題來自己 03/27 13:23
12F:→ ddavid: 實際寫出對應的遞迴式跟終止條件嗎 03/27 13:24
13F:→ ddavid: 或是現實要解個什麼問題,你不管三七二十一就是從其中找個 03/27 13:25
14F:→ ddavid: 地方用遞迴去思考,有時這雖然不是最佳解法卻可能是很好的 03/27 13:25
15F:→ ddavid: 思考訓練 03/27 13:25
16F:推 cuteSquirrel: 把原問題轉化成有固定降解形式的子問題。 03/27 14:16
17F:→ cuteSquirrel: 還有對應的邊界條件 03/27 14:17
18F:→ watashino: 我覺得重點就三個啦,前兩個記得一定要有 03/27 14:39
19F:→ watashino: 1.終止條件 03/27 14:39
20F:→ watashino: 2.呼叫自己的方式 03/27 14:39
21F:→ watashino: 3.寫function的過程中呼叫自己的時候可以把這個functio 03/27 14:39
22F:→ watashino: n當作已經完成了,呼叫了就會有你要的output了,這樣會 03/27 14:40
23F:→ watashino: 容易很多 03/27 14:40
24F:→ OrzOGC: 我只能CO別人寫好的來改...QQ 03/27 15:09
25F:推 pmove: 我刷了一百多題的經驗是,很多tree的簡單題,我想的比一些 03/27 16:58
26F:→ pmove: 中等,甚至困難難度的還要久,難度只能做參考,並不是絕對 03/27 16:58
27F:推 liflguy: 發現一整個問題是由小問題組成,可以藉由解決小問題後解 03/27 23:00
28F:→ liflguy: 決下一階段的問題,數學上基本的表示為f(x)=f(x-1) 03/27 23:00
29F:推 ddavid: 樓上的式子不太精確XD 03/28 17:15
30F:→ ddavid: f(x)=f(x-1)只會得到f(x)=f(1) for all x XD 03/28 17:16
31F:→ protoss: 這資料結構的書不是一開始會教嗎?我記得拿河內塔當例子.. 03/29 03:15
32F:→ pmove: f(x)=f(x-1)是一種遞迴,但不是所有遞迴都可以這樣子表示 03/29 10:55
33F:推 yoche2000: 費式數列 03/29 14:44
34F:推 liflguy: 樓上各位沒錯,只是舉個最簡單的例子XD 03/30 00:20
36F:→ velaro: python 資料結構的影片 04/04 13:51