关于《算法导论》的一些疑惑

2016-03-18 12:42:22 +08:00
 NightVermouth

最近在看《算法导论》,书上有很多的数学证明。 我目前的策略是基本跳过, 重点看思路和代码实现。 不知各位 V 友们是怎么对待书上的数学证明的, 是否有必要或者有多大必要去深入研究数学证明?

10822 次点击
所在节点    程序员
55 条回复
lsmgeb89
2016-03-18 12:43:32 +08:00
那你习题也跳过?
jsonline
2016-03-18 12:45:45 +08:00
跳吧 用测试证明
NightVermouth
2016-03-18 12:48:22 +08:00
@lsmgeb89 涉及数学证明的习题我也跳过。。。
hitmanx
2016-03-18 12:59:18 +08:00
morefreeze
2016-03-18 13:15:04 +08:00
如果是实用角度的话,跳过没啥,你只要知道堆顶上是最小元素就行。如果你要问为啥呢,或者问如果这样这样改行不行呢(多出现在练习里),你就需要看数学证明。
证明看多了也就习惯了,慢慢就懂了。特别前面几章求复杂度和怎么证明循环不变式要多琢磨。(然而你让我证明我也忘了;D
ProfFan
2016-03-18 13:15:10 +08:00
有个笑话,所有写着 Introduction to Something 的数学书都不是人读的。
Lpl
2016-03-18 13:29:41 +08:00
如果这样子的话,没必要买算法导论。买点其他的,比如 java 数据结构、算法思路之类的东西,然后刷点题。感觉算法导论对于数学弱和算法弱的同学有点超纲。。。反正我是看的不太懂,多看几次,手动建模才能慢慢理解
wshcdr
2016-03-18 13:33:34 +08:00
算法导论需要聪明点的人去看
NightVermouth
2016-03-18 13:37:56 +08:00
@wshcdr 智商多少算“聪明点”?
zacard
2016-03-18 13:45:46 +08:00
几年前看过其中一章,简直痛苦啊。看几行就不得不去查下早已遗忘的数学公式。现在吃灰中。。。
alienx717
2016-03-18 13:48:20 +08:00
我靠买了都没看,压箱子底了
tempuseraccount
2016-03-18 13:50:07 +08:00
网易公开课有 MIT 的课程,带中文字幕,边看边学,很有帮助
hooluupog
2016-03-18 14:06:08 +08:00
有很多国外和国内的算法教材,很经典的,偏向于实现。
《算法导论》这本书偏理论和证明过程,上面的代码也都是伪代码,并不适合入门,《计算机编程艺术》那本书就更夸张了。即使搞 acm ,也不一定非要看算法导论。

你可以看看 Weiss 的《数据结构与算法分析 C++描述》,以及《算法》(java 实现的)。
国内的教材可以看严蔚敏的 c 语言版算法教程(这个还有一整套电子版以及可视化算法演示程序,方便学习)。
算法导论可以做参考,数学基础不好可能会很吃力。如果不是从事研究工作,感觉没有必要在这上面花费太多精力。当然感兴趣除外。
MCVector
2016-03-18 14:07:05 +08:00
可以先看看 concrete mathematics
snnn
2016-03-18 14:07:12 +08:00
@hooluupog 对你的第一段完全赞同。
echo1937
2016-03-18 14:24:40 +08:00
@snnn Weiss 的《数据结构与算法分析 C++描述》这书我有,但是我不会 C++,只好学了 Java 去看<算法>。
66CCFF
2016-03-18 14:35:50 +08:00
我认为这是本工具书,看看需要的即可。
neoblackcap
2016-03-18 14:39:37 +08:00
@MCVector 那本不是配合 TAOCP 来看的吗?

CLRS 没看多少,不过那本书不是本科学习用的吗?按道理也难不到哪里去啊,一些简单的证明我觉得还是很有必要要看看的,有些地方觉得还是《算导》讲得更好。比如《算法》强连通分量算法那节里面,我一直都不明白为什么要对一个有向有环图进行拓扑排序,后来看了 CLRS 才恍然大悟,原来将所有强连通分量看成一个节点,那么这个有向有环图就可以变成一个有向无环图,这是就符合之前的说法,有向无环图才会有拓扑顺序。

个人觉得数学证明还是要看的,要去理解。理解了就好了。不能理解,死记这些原理,根本学不通。这样学来又有什么意义,还不如直接调用各类语言提供的算法,第三方库。
jatesun
2016-03-18 15:26:02 +08:00
看算法导论纯属找虐,各种证明。有那时间还不如看看算法设计分析基础提升提升算法设计能力
crayygy
2016-03-18 15:32:12 +08:00
看《算法》第四版吧,真的。之前看算法导论,看到要死要活什么都不懂一度怀疑人生,最后发现,《算法》这本书才是工程性质学习算法的比较好的选择。代码多,话语简介。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/264427

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX