Prob_Solve 板


LINE

※ 引述《x000032001 (某数..失业中)》之铭言: : 原PO背景: 还没上大学 高职毕业 想练功 : --- : 玩程式解题大概一年多了 : 觉得自己有瓶颈存在 : 遇到题目常常有完全没头绪的障碍 : 训练programming的话 是不是要继续读DS & algorithm的书好? : 充实多点理论再去写题目的话才有帮助 是这样吗? : 读哪些书比较好呢? : 网站的话..我资质鲁钝 看DJWS常常看不懂XD 警告:这是原 Po 七八年前的心得,如果有什麽新的东西还请版友补充。 跟你分享一下当年自学的心得(当年的基础混到现在也还能用,所以应该 还有参考的价值)首先就是你可能要意识到常见的「解题」终究无法帮你学到 更精妙的演算法。用数学做譬喻,这有点像是国中高中职故意出很刁钻的数学 应用题,但不论怎麽刁钻,也不可能出现高等微积分的东西。常见的「解题」 亦如此;无论题目如何包装,如何拐弯抹角,大都出不了某个「基础范围」。 如果你只是要学这个「基础范围」,解题可以磨练你解应用问题的技巧;若不 是,恐怕到最後将迷失在一些琐碎的技术上面。平常写程式时,这个「基础范 围」倒也满够用了。等等会回来讲这问题。 先来讲入门书。在我个人有限的见识之下,真的没有一本书或网站比 Introduction to Algorithms (当年看第二版)更适合当入门书。当时有中 文翻译,不过那本翻译个人不推荐。先讲中文米文的问题:平均来说,米文书 的水准比中文书高很多,米文网站资源也比中文网站多非常非常多;而中文翻 译通常比较差(包括排版,如果你觉得排版赏心悦目很重要),搞不好比原文 更难懂,慎之!我很感谢当年导师推荐给我 I2A;当时我米文非常差,前言耗 费多时才读完,但习惯以後速度也越来越快了。个人觉得花这时间非常非常值 得。慢慢啃这本书所学到的知识,远比同时间阅读其他中文书学到更多。 另外讲一下许多演算法书的问题。很多书(尤其是中文书)看上去列举了 很多别人没有提的奇妙演算法,但这些书的缺点就是没办法给你一个完整的概 念。这有点像是学了各种奇招,却没有把一门武功从基础扎扎实实的学好,终 究底子不够,无法融会贯通。彻底学好基础後,这些奇招只要看到就能马上纳 为自己功夫,没什麽好羡慕的。见一个就学一个!而推荐 I2A 这本书,正是 因为这本书虽然奇招不多,但可以给你非常好的基础。一定还有其他书也有同 样的效果,只是我没读过而已。 回来讲通常「解题」所需要的「基础范围」。I2A 那本书最大缺憾就是网 路流(network flows)的招数不够多,远不够应付平时解题需要。说实在我 到现在还不知道有哪本书清楚,完整又适合初学。Algorithms in C Part 5 (by Robert Sedgewick) 也许可以学到一些招数?Introduction to Graph Theory (by Douglas West) 这本书虽然是在讲图论,但也有一点演算法。或许 到时候自己找国外课程网站的上课笔记比较快?这可能也要请版友补充了。 两本书在这: http://www.informit.com/store/product.aspx?isbn=0201316633 http://www.amazon.com/Introduction-Graph-Theory-Douglas-West/dp/0130144002 再来是题库网站。我知道长久以来大家都喜欢写 UVA 的 ACM 题库。但这 同样有马步都没蹲好就一直想要打架的问题。ACM 题库还有一个致命的缺点, 就是你根本不知道你怎麽错的。为此我推荐 USACO 网站: http://train.usaco.org/usacogate 这是米国用来训练资讯竞赛的东西。既然他们都公开了就拿来用。这网站 不仅有演算法介绍,课程和题目按部就班,当你错的时候也会给你测资,在初 学时比常见的 ACM 题库都还好。或许还有其他类似的网站,但我已经很久没 关心了... 如果你的野心不只「基础范围」,I2A 依然是我所见过最好的入门书。当 然它还是缺少很多很经典的资料结构或演算法(如 splay tree, 虽然书里面其 实有跟读者提名字),需要自己补起来,但读完後应该是有办法自己补起来的! 总之不论你未来想往更深奥的演算法迈进,或是只是想应付解题,这本书 应该都很适合当起点。或许也可以参考国内外大学教科书选哪本。就我所知好 像也有人用 Algorithm Design (by Jon Kleinberg & Eva Tardos), 不过这本 我没读过,无法向你推荐或反推荐。 : --- : 想自己写一些实用的小程式会发现有点卡 不知道怎麽设计 : 这个方面就是需要读software engineering吧? : 是不是等大三大四再去接触就可以了? : 恳请大家给我一些建议~"~ 个人觉得知识没有「什麽时候再学」的问题,只要先学好基础就行。相反 的,如果你大学毕业後发现少了什麽,赶快补起来也很好呀。如果有时间有兴 趣就冲吧! 我猜很多人会跟你说去学一些常见的设计模式(design patterns)自然 就会知道常见的问题怎麽解决,但我个人其实更想推荐你从头学程式语言的理 论基础。这将会彻底改变你对程式的看法!如同学好基础後奇招无所畏惧一样, 那些设计的奇招也是见一招拆一招,甚至常常你自己可以想出更好的。我讲的 不是那种只教某种语言的普通课程,而是可以看透几乎所有程式语言的方法! 可惜台湾好像没有很多师资,资源少到不知道该如何介绍才好。(也有可能是 我见识浅薄,认识不够多人,还请大家补充。)听说中研院暑假有相关的研习 营,也许可以去打听一下。 至於你讲的软体工程,跟程式语言有密切关系,但还包括很多额外的学问, 像是怎麽跟人合作或是长期维护一个软体之类的。不过我想,就你的目的而言 可能都用不到?xDD 希望这篇文章对你有帮助! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.39
1F:推 x000032001:推 看来圣经本还是得准备拿钱出来败~"~ 06/16 22:14
要省钱可以买二手的!然後一定还有其他好书啦,所以应该没到圣经这麽 夸张。另外我更新了一部份文章。
2F:推 danielsig727:Algorithm Design 以自学来说我觉得比 I2A 好啃一些 06/17 15:13
3F:→ danielsig727:我自己是读 Algorithm Design 为主,I2A当reference 06/17 15:15
4F:→ danielsig727:配着看~ 不过每个人的习惯不一样啦XD 06/17 15:15
5F:→ danielsig727:I2A感觉比较像字典,Algorithm Design叙述性文字较多 06/17 15:16
喔太好了有人出现了 xDDD 听说这本网路流内容够多,可以问一下是怎麽 回事吗? xD
6F:→ danielsig727:不知道对原po来说是怎麽样才算够多耶:P 06/18 00:15
7F:→ danielsig727:之前我的演算法老师只教到 max flow , min cut 那边 06/18 00:16
8F:→ danielsig727:後面还有很多 topic 因为时间不够我自己也没看完:P 06/18 00:17
9F:→ danielsig727:要目录的话这边有 http://goo.gl/JsP3l 06/18 00:18
光看目录好像看不太出来。有讲 Dinic 演算法或是 blocking flow 吗? 我模糊的印象中 I2A 没有讲这个。blocking flow 配合好的资料结构可以进 化成非常快的演算法,个人觉得值得一提。那个「好的资料结构」是 dynamic tree, I2A 中好像只有提到名字 xD 关键章节 ==> 7.3 Choosing Good Augmenting Paths (刚才偷偷翻一下,有特别讲 scaling, 但还是没讲 blocking flow. 我觉得 scaling 不够「基本」入门书不讲就算了,但解题有用!xDD 印象中 I2A 好像没有。) ※ 编辑: Favonia 来自: 140.112.30.39 (06/18 02:20)
10F:推 a127a127:我记得I2A有在章节的注记那边,简短的提到blocking flow 06/18 20:24
11F:→ DJWS:Network Flows: Theory, Algorithms, and Applications 06/19 15:15
12F:→ DJWS:整本都是网路流 :D 06/19 15:16
13F:→ DJWS:不过这一本有点年纪了,也许後来有出更好的书我不晓得~ 06/19 15:16
先说我没看过,不过整本书的话份量会不会太惊人 xDDD 虽然买本「字典」 是不错的选择,可是感觉就不太像入门书 xDDD ※ 编辑: Favonia 来自: 140.112.30.39 (06/19 23:14)
14F:推 DJWS:这本书的风格算是教科书喔! 不然也不会推荐了 XD 06/21 07:52
15F:→ DJWS:要说到字典 应该I2A更像字典吧 超级厚! 06/21 08:10
也是,哈哈哈 xDDDD ※ 编辑: Favonia 来自: 140.112.30.39 (06/21 17:28)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP