算法导论 or 编程珠玑

love514425 2009-02-27 01:25:42
> 小弟学过数据结构,现在想重新学习一下算法.
算法导论 or 编程珠玑

这两本书哪本更合适点?
请看过这两本书的仁兄对其做个客观的短评. 小弟谢了先!
...全文
1256 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
love514425 2009-03-09
  • 打赏
  • 举报
回复
up
wwwypy 2009-03-09
  • 打赏
  • 举报
回复
算法导论不错,编程艺术也很好。
muyejingfeng100 2009-03-02
  • 打赏
  • 举报
回复
推荐LZ看《算法导论》非常不错。
love514425 2009-03-02
  • 打赏
  • 举报
回复
> 嗯,衷心的感谢各位!
> 尤其是 vitin
shewolfbfh 2009-03-02
  • 打赏
  • 举报
回复
算法导论,英文第二版,在书柜上 一直放着,本科的教材,其他的都论斤卖了,就留了这一本。

qhfu 2009-03-02
  • 打赏
  • 举报
回复
如果学过数据结构 并且有一定数学基础,算法导论吧!!!

几年前看过,感觉收益匪浅,不一定要去记住这些算法,但是 碰到不算复杂的算法,总是有总胸有成竹的感觉

有可能的话 看英文原版,不太难。


bfhtian 2009-03-02
  • 打赏
  • 举报
回复
算法导论是好书,编程珠玑没得比啊
xuruichen 2009-03-02
  • 打赏
  • 举报
回复
楼上还有pseudocode,挺搞的。
Vitin 2009-03-02
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 zmlovelx 的回复:]
引用 26 楼 Vitin 的回复:
有时间就直接看《The Art Of Computer Programming(计算机程序设计艺术)》,这是最好的算法基础书。
没时间就看看《算法导论》,介绍了各种基本算法。

《编程珠玑》当作课外阅读吧,它是资深程序员的经验之谈,不是教材。

貌似很多人都看不懂耶。
[/Quote]

是的。TAOCP 是有一定的难度。我觉得体现在两方面:
1、需要基本功扎实。如果有一个主题无法吃透,那么可以找更基础的书籍来学习:比如数学基础部分可以先学习一下《具体数学》;再如有的算法没有接触过,可以先从其他书中学习它的简单形式并实践一下。
2、需要踏实的学风。如果前面部分没能完全掌握,后面只会越来越难。(特别是前两章,不可或缺)不能求快,欲速则不达。即使是熟悉的部分,也要认真学习一遍。能够将大部分习题都独立做出来,那就比较好了(第一次做不到,就做第二次……)。一劳可以永逸;不劳只会无获。
基于以上两个原因,学习 TAOCP 是很花时间的。

我对难度的看法是——如果一开始看不懂,那么恭喜你了:这意味着一旦看懂一点了,就是比较大的收获。

提供一个自学算法:
Algorithm self-teach:
1. read problem
2. attempt solution
3. skim book solution
4. if attempt failed goto 1
else goto next problem

以及 G. Polya 的一句话:
The advanced reader who skips parts that appear too elementary may miss more than the less advanced reader who skips parts that appear too complex.


相比之下,《算法导论》会轻松很多。我曾试图将书中的每个算法和每个习题都实现一下。大约做了十来章就放弃了:感觉没什么进步,可能是学习的时机已经晚了,该学的以前已经学过了。当然,《算法导论》大致是本科教材,作为入门无疑是不错的。象我上面提倡的那样,虽然是基础,但不要遗漏。可以浏览一遍,如果碰到从未接触过的算法,第一次用心学习一下是好的。


《编程珠玑》即不艰深,也不全面,不属于基础算法教材,而是类似方法论之类的经验之谈。读懂不难,但是能够充分体会到作者的思想精髓可就难了,只能在实践中慢慢体会。掌握作者的视角是好的,但更重要的是以此为启发,勤于思考,善于总结,最终形成属于自己的视角和方法。所谓的底蕴,就是这样逐渐积累起来的。
jeff_nie 2009-03-01
  • 打赏
  • 举报
回复
先数据结构再来是算法
lingyin55 2009-03-01
  • 打赏
  • 举报
回复
牛人,上算法导论吧
xuruichen 2009-03-01
  • 打赏
  • 举报
回复
没看过,看到同学的一本算法导论,我直接就没有欲望了。
lbt777777 2009-02-28
  • 打赏
  • 举报
回复
帮楼主顶一下
Trust_haitao365 2009-02-28
  • 打赏
  • 举报
回复
没看过这两本书,呵呵,学习了
wolflion 2009-02-28
  • 打赏
  • 举报
回复
各位的讨论自己学习了
帅得不敢出门 2009-02-28
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 Vitin 的回复:]
有时间就直接看《The Art Of Computer Programming(计算机程序设计艺术)》,这是最好的算法基础书。
没时间就看看《算法导论》,介绍了各种基本算法。

《编程珠玑》当作课外阅读吧,它是资深程序员的经验之谈,不是教材。
[/Quote]
貌似很多人都看不懂耶。
love514425 2009-02-28
  • 打赏
  • 举报
回复
> 谢谢LS各位的回答!
Vitin 2009-02-28
  • 打赏
  • 举报
回复
有时间就直接看《The Art Of Computer Programming(计算机程序设计艺术)》,这是最好的算法基础书。
没时间就看看《算法导论》,介绍了各种基本算法。

《编程珠玑》当作课外阅读吧,它是资深程序员的经验之谈,不是教材。
jojotom 2009-02-27
  • 打赏
  • 举报
回复
正在看算法导论
zhan1094 2009-02-27
  • 打赏
  • 举报
回复
都没看过~~
加载更多回复(22)

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧