Re: [問題] 如何自學程式解題
看板Prob_Solve (計算數學 Problem Solving)作者bleed1979 (十三)時間13年前 (2011/06/16 20:49)推噓1(1推 0噓 2→)留言3則, 2人參與討論串3/8 (看更多)
※ 引述《x000032001 (某數..失業中)》之銘言:
: 原PO背景: 還沒上大學 高職畢業 想練功
: ---
: 玩程式解題大概一年多了
: 覺得自己有瓶頸存在
: 遇到題目常常有完全沒頭緒的障礙
: 訓練programming的話 是不是要繼續讀DS & algorithm的書好?
: 充實多點理論再去寫題目的話才有幫助 是這樣嗎?
: 讀哪些書比較好呢?
: 網站的話..我資質魯鈍 看DJWS常常看不懂XD
: ---
: 想自己寫一些實用的小程式會發現有點卡 不知道怎麼設計
: 這個方面就是需要讀software engineering吧?
: 是不是等大三大四再去接觸就可以了?
: 懇請大家給我一些建議~"~
1.經典的小精靈遊戲裡,有一個玩家,三隻章魚,
你要如何讓最靠近玩家的那隻章魚持續向玩家移動,
其他章魚隨意亂逛呢?
2.視窗的古老遊戲踩地雷裡,滑鼠點選空白處,
地圖會自動打開。要怎麼判斷那幾格該打開和打開的範圍呢?
3.最簡單的 GUI 文字編輯器都會有 replace all 的功能,
要如何快速的判斷所有 matching 的字串的所在位置呢?
以上這些都可以經由解題程式來練習。
只是你該以什麼方式練習解題?
ACM UVa Online Judge 上的簡單題目保守估計至少500題以上,
如果老是做這些題目,也不太會進步,或是會停滯。
你需要的是一個主題式練習法。
比如上面的第2點,我會採取 Flood Fill,
就可以在 http://uvatoolkit.com/ 搜尋 "flood fill"
這邊就有一堆同型態的題目讓你做,練到精練到熟為止。
同理,打"dp",有200多題可以練習。
每2個星期設定一個主題,設定要練幾題,統計達成率,檢視自己的進步。
如果一題都解不出來怎麼辦?
別擔心,使用 google 搜尋,一堆現成的原始碼可以參考。
此時,你要學習的解法而非語法。
不必太在意那些寫得太過簡潔到讓人看不懂的語法,
但你至少要了解為什麼這樣寫可以得到答案。
說了這麼多,我也不過是喜歡解題的普通人,提供一點建議參考。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.32.153
→
06/16 22:11, , 1F
06/16 22:11, 1F
推
06/19 19:19, , 2F
06/19 19:19, 2F
→
06/19 19:29, , 3F
06/19 19:29, 3F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章