作者bleed1979 (十三)
站内Prob_Solve
标题Re: [问题] 如何自学程式解题
时间Thu Jun 16 20:49:34 2011
※ 引述《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
1F:→ x000032001:推bleed大 可是我可能还没那个sense去搞这麽难的XD 06/16 22:11
2F:推 zephyrhymn:其实...这三个算是基本的练功题... 06/19 19:19
3F:→ zephyrhymn:初学时你能花个一个月解一题我认为就是成功的开始 06/19 19:29