最近在看《算法导论》,书上有很多的数学证明。 我目前的策略是基本跳过, 重点看思路和代码实现。 不知各位 V 友们是怎么对待书上的数学证明的, 是否有必要或者有多大必要去深入研究数学证明?
1
lsmgeb89 2016-03-18 12:43:32 +08:00
那你习题也跳过?
|
2
jsonline 2016-03-18 12:45:45 +08:00 via Android
跳吧 用测试证明
|
3
NightVermouth OP @lsmgeb89 涉及数学证明的习题我也跳过。。。
|
4
hitmanx 2016-03-18 12:59:18 +08:00 5
插句题外话。《算法导论》听着像入门书,其实是本百科全书,而且对于数学要求确实不低。如果是入门的话,再次推荐这本算法书<Algorithms>( http://www.ituring.com.cn/book/1807)里面对于每种常用算法、数据结构都有详细地不能再详细地解释,甚至很多页的图看起来像单步调试。里面的数学有,但是比起《算法导论》要简单很多。只要不是专门的算法工程师,这本书包含的内容吃通对于面试和日常工作应该都够用了
|
5
morefreeze 2016-03-18 13:15:04 +08:00
如果是实用角度的话,跳过没啥,你只要知道堆顶上是最小元素就行。如果你要问为啥呢,或者问如果这样这样改行不行呢(多出现在练习里),你就需要看数学证明。
证明看多了也就习惯了,慢慢就懂了。特别前面几章求复杂度和怎么证明循环不变式要多琢磨。(然而你让我证明我也忘了;D |
6
ProfFan 2016-03-18 13:15:10 +08:00
有个笑话,所有写着 Introduction to Something 的数学书都不是人读的。
|
7
Lpl 2016-03-18 13:29:41 +08:00
如果这样子的话,没必要买算法导论。买点其他的,比如 java 数据结构、算法思路之类的东西,然后刷点题。感觉算法导论对于数学弱和算法弱的同学有点超纲。。。反正我是看的不太懂,多看几次,手动建模才能慢慢理解
|
8
wshcdr 2016-03-18 13:33:34 +08:00
算法导论需要聪明点的人去看
|
9
NightVermouth OP @wshcdr 智商多少算“聪明点”?
|
10
zacard 2016-03-18 13:45:46 +08:00
几年前看过其中一章,简直痛苦啊。看几行就不得不去查下早已遗忘的数学公式。现在吃灰中。。。
|
11
alienx717 2016-03-18 13:48:20 +08:00
我靠买了都没看,压箱子底了
|
12
tempuseraccount 2016-03-18 13:50:07 +08:00
网易公开课有 MIT 的课程,带中文字幕,边看边学,很有帮助
|
13
hooluupog 2016-03-18 14:06:08 +08:00 1
有很多国外和国内的算法教材,很经典的,偏向于实现。
《算法导论》这本书偏理论和证明过程,上面的代码也都是伪代码,并不适合入门,《计算机编程艺术》那本书就更夸张了。即使搞 acm ,也不一定非要看算法导论。 你可以看看 Weiss 的《数据结构与算法分析 C++描述》,以及《算法》(java 实现的)。 国内的教材可以看严蔚敏的 c 语言版算法教程(这个还有一整套电子版以及可视化算法演示程序,方便学习)。 算法导论可以做参考,数学基础不好可能会很吃力。如果不是从事研究工作,感觉没有必要在这上面花费太多精力。当然感兴趣除外。 |
14
MCVector 2016-03-18 14:07:05 +08:00
可以先看看 concrete mathematics
|
16
echo1937 2016-03-18 14:24:40 +08:00
@snnn Weiss 的《数据结构与算法分析 C++描述》这书我有,但是我不会 C++,只好学了 Java 去看<算法>。
|
17
66CCFF 2016-03-18 14:35:50 +08:00 via iPhone
我认为这是本工具书,看看需要的即可。
|
18
neoblackcap 2016-03-18 14:39:37 +08:00
@MCVector 那本不是配合 TAOCP 来看的吗?
CLRS 没看多少,不过那本书不是本科学习用的吗?按道理也难不到哪里去啊,一些简单的证明我觉得还是很有必要要看看的,有些地方觉得还是《算导》讲得更好。比如《算法》强连通分量算法那节里面,我一直都不明白为什么要对一个有向有环图进行拓扑排序,后来看了 CLRS 才恍然大悟,原来将所有强连通分量看成一个节点,那么这个有向有环图就可以变成一个有向无环图,这是就符合之前的说法,有向无环图才会有拓扑顺序。 个人觉得数学证明还是要看的,要去理解。理解了就好了。不能理解,死记这些原理,根本学不通。这样学来又有什么意义,还不如直接调用各类语言提供的算法,第三方库。 |
19
jatesun 2016-03-18 15:26:02 +08:00
看算法导论纯属找虐,各种证明。有那时间还不如看看算法设计分析基础提升提升算法设计能力
|
20
crayygy 2016-03-18 15:32:12 +08:00
看《算法》第四版吧,真的。之前看算法导论,看到要死要活什么都不懂一度怀疑人生,最后发现,《算法》这本书才是工程性质学习算法的比较好的选择。代码多,话语简介。
|
21
vanxining 2016-03-18 16:03:52 +08:00
数院的人不懂计算机,计算机的人不懂数学。
所以大部分机器学习的论文都很水。 |
22
loryyang 2016-03-18 16:08:33 +08:00
我当时读的时候会看一部分的证明,事实证明,到现在为止,没用。
不过你如果当做思维锻炼的话可以看看,好多东西不一定是带给你知识的,他们可以带给你智力 |
23
Finalcheat 2016-03-18 16:24:36 +08:00
我认为没必要。主要看伪代码和文字描述的解题思路就行了。
|
25
mahone3297 2016-03-18 17:25:38 +08:00
@hitmanx 为什么他自己的网站上没有中文版。。。亚马逊上到是有。。。有点想看看算法第四版这本书的电子版。
|
26
hitmanx 2016-03-18 17:30:30 +08:00
@mahone3297 貌似中文版只有实体版 http://www.ituring.com.cn/book/875
|
27
NightVermouth OP |
28
kx5d62Jn1J9MjoXP 2016-03-18 19:39:08 +08:00 via Android
MIT 的算法导论课根本就不讲究什么代码实现。
整个课程绝大部分内容都是数学证明,代码都是用伪代码,只有大作业才要用代码实现的 |
29
sbpcx 2016-03-19 00:02:49 +08:00
本以为买了能看的,结果注定吃灰了,现在床头呢,
|
30
random2case 2016-03-19 00:37:04 +08:00
@mahone3297 @hitmanx 俺这里有电子版的 算法,不知怎么分享?
|
31
ceclinux 2016-03-19 03:21:04 +08:00
我不觉得你是入门书。我暑假的时候看过百来页,把题目都做完,实际上没有什么软用。当然,证明什么都很好玩的。
题外话是如果要北美面试什么的,算法导论里面的东西基本没有,不如刷题。 |
32
haoc 2016-03-19 04:29:11 +08:00
不证明,对算法的信心哪来的?
|
33
linux40 2016-03-19 08:01:29 +08:00 via Android
放心,绝大多数证明你都看得懂,不然你写一个算法,怎么判断它的正确性和复杂度?
|
34
linux40 2016-03-19 08:03:55 +08:00 via Android 1
我算法导论现在除了很难的题, google 都搜不到答案那种跳过了,别的都没跳过,去年 8 月开始的,现在杀到了 26 章。。。
|
35
linux40 2016-03-19 08:07:54 +08:00 via Android
至于看到什么程度,我是看到能说服自己,它是对的就好了。。。
|
36
SCaffrey 2016-03-19 09:16:03 +08:00
|
40
sleeperqp 2016-03-19 11:47:20 +08:00
可看可不看吧 如果为了通俗易懂 我更推荐 算法概论这本书 :)
|
41
GtDzx 2016-03-19 13:39:06 +08:00
汗 没有证明的算法导论大概和百度百科差不多?
|
42
simoncos 2016-03-19 13:48:05 +08:00 via Android
@ProfFan 哈哈,之前遇到一个数学专业的也说,带 Introduction 和带 advanced 的难度简直倒过来。
|
43
qianleilei 2016-03-19 13:59:56 +08:00 via iPhone
感觉不如直接 leetcode 练起来,遇到不会再学,有个入门之后再看算法导论系统学习不迟
|
44
tvallday 2016-03-19 15:15:09 +08:00
坑爹,当初面试 Google 他们 HR 就叫我复习一遍算法导论再去面试,结果看一周看不了两章,囫囵吞枣似的读,感觉上当了。
|
45
vinceguo 2016-03-19 16:45:57 +08:00 via Android
个人觉得算法导论的证明写得比较烂,如果是翻译过来的,估计都不能看了。
随便看看,然后自己推吧,不难的。 |
46
kingcos 2016-03-19 18:18:58 +08:00 via iPhone
明天去图书馆借算法去。。这个帖子太及时了!还有平时练习算法,是多在 OJ 做题还是怎么样呀?估计是走不了 ACM 了,但是不想面试时啥都不会=_=
|
47
NightVermouth OP @vinceguo 翻译版确实没法看,我看了一章就换原版了。
|
48
buptrobin 2016-03-19 19:01:01 +08:00
当年上研时算法导论是课本。。。不看都不行
|
49
wizardforcel 2016-03-19 20:31:48 +08:00 via Android
我当时直接看《算法》和 leetcode 题解。
想清楚你要走学术向还是工程向,工程向看这本书没意义。 |
50
vinceguo 2016-03-19 20:32:13 +08:00 via Android
部分看不懂也不要纠结,去谷歌一下,总能找到那种解释的非常好的英文博客,常用的一些,维基百科上的解释就已经很不错了
|
51
gxustudent 2016-03-19 23:42:18 +08:00 1
个人愚见如下:
1.“学其上,仅得其中;学其中,斯为下矣 2.“书读百遍,其义自现” 仅供参考 |
52
CareiOS 2016-03-20 09:23:34 +08:00
当前买了这本书,不过一直放着没有翻过。现价 10 元处理,不包邮。
|
55
tianshilei1992 2016-03-21 09:03:00 +08:00
推荐《算法概论》,这本书作为入门书再好不过了。
|