大把散分!5天连敲带看完结《算法竞赛入门经典》,推荐给大家,同时散分.

qq120848369 2010-06-17 04:38:07
《算法竞赛入门经典》,作者:刘汝佳.

花了5天时间,刚买回来就开始拼搏,这次看书秉着每个代码都敲会,每个字都不放过的精神,完结了整本书,感觉问心无愧.

这本书我是推荐给想学算法的同学们的,虽然是入门,但是内容经典只有看后才知道,体会很多,收获固然也很多.

从竞赛的一些基础语言知识讲起, 全书涉及到了很多我们平时经常遇到,得过且过的数学运算问题, 让你对溢出,怎么处理溢出, 有了自己的动手能力.

暴力解法, 让你对排列, 搜索 ,剪枝的思考方法有了更多深刻的认识, 你会突然体会到, 噢, 原来这个问题是这么解的, 根本不需要多么复杂的算法, 重要的是一种方法.

动态规划, 让你把解答树与动态规划的设计方法结合起来, 让你遇到问题学会用阶段来看待问题, 用DAG图的思想分析问题的可能解答方法, 还有树上的DP, 集合上的DP(这个的确长见识了,原本认为这不属于DP的范畴,但是看了之后发现这也是DAG的形式,没有到祖先回路,也符合DP的性质)

贪心, 举了不少贪心问题, 这一块自己的感触不是很多, 因为证明贪心一直没掌握 , 再思考思考书上的话.

接下来还有数学章节,大整数运算等基本的方法, 还有模运算的一些性质, 整数的唯一分解原理, 筛法打素数表,
约分的思想, 如何通过各种方法避免大整数运算的溢出问题, 给人启发很大, 实用价值也很大, 还给了一些组合数计数的问 题,比如划分一个多边形为三角形,有多少种方式, 这些问题都是通过一种递推的思想列出的解答式,起码给人了一种分析计数问题的方法,有规矩可循。
接下来还有图论部分,比较给人感触的是图的各种存储方式的应用,顺便也借kruscal MST算法提出了并查集的应用,最后是网络流部分, 对我之前学的内容完全刷新了一次,对以前的一些内容的理解更加清晰, 理顺了逻辑。

总体评价: 内容涉及面比较广, 内容难度适中,不是随便看就能懂的, 也不是看不懂, 让你突然遇到一个炙手可热的问题, 然后思考一阵, 多读几次 才能领悟一言一语中的精华 ,结合过去学习的内容, 对知识的理解是一个升华。

代码齐全, 错误很少很少, 结合STL给了一些常见的使用。

当然,全书的一个亮点就是避免指针与内存的操作,尽量使用静态数组模拟各种动态结构,例如邻接表,开散列,队列,栈等。 这对于提升数据结构能力也是很好的。

...全文
1725 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
道荣 2012-07-21
  • 打赏
  • 举报
回复
已经看了快一个月了,到第五章就卡住了
luoqidunwu 2010-12-14
  • 打赏
  • 举报
回复
楼主很牛吗。
mystorn 2010-12-11
  • 打赏
  • 举报
回复
唉,没学过数据结构,看这本书时,树与图这些地方很是难理解,真让人纠结,书确实是很经典.看了好行时间了才看了一半.实在是走不下去了.快疯了,用的是图书饭的书,一直不舍得还.
hzw19890208 2010-09-23
  • 打赏
  • 举报
回复
楼主厉害,我在图书馆也借了这本书,偶然的巧合,不过觉得这本书相当好,所以打算买一本。
lz3771 2010-06-18
  • 打赏
  • 举报
回复
接分,我也有这本书
fengbingchun 2010-06-18
  • 打赏
  • 举报
回复
有机会我也看看楼主推荐的这本书,我是专搞图像算法的,感觉算法很难呀
AAA20090987 2010-06-18
  • 打赏
  • 举报
回复
向LZ学习。。。
fengwangbao 2010-06-18
  • 打赏
  • 举报
回复
接分啦,要看看楼主的好书。
超级大笨狼 2010-06-18
  • 打赏
  • 举报
回复
嵌入式(包含通讯)软件和Web开发有很多共同点,就是客户端要承担部分计算,架构师需要裁决计算的分工。

比如这样的报表,服务器只需要提供元数据就可以了,显示的样式可以交给客户端去搞。



xbt746 2010-06-18
  • 打赏
  • 举报
回复
向lz学习啊
blpluto 2010-06-18
  • 打赏
  • 举报
回复
向上面学习~~~顺路接分~~
pmars 2010-06-18
  • 打赏
  • 举报
回复
向楼主学习……
diablox0147 2010-06-18
  • 打赏
  • 举报
回复
LZ有没有下载地址???? 俺这里是买不到这本书滴。。。
qq120848369 2010-06-18
  • 打赏
  • 举报
回复
学习了.
结贴了.
cattycat 2010-06-17
  • 打赏
  • 举报
回复
看了,改天找找看电子版的。
qq120848369 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 x308603129 的回复:]
这本书貌似比较经典啊?适合自学和初学者,有机会也会找来参考~~ 我最近算法设计与分析结课了,感觉收获还是不小的~~~
[/Quote]

学校教的算法设计与分析课感觉太仓促,没接触过算法的同学都很头疼,我也是这学期开的这个课,还是得自己努力
qq120848369 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 superdullwolf 的回复:]
我下一步打算在JS里实现算法和数据结构。

原因有以下:

1,将来是物联网云计算时代,客户端必定要分担服务器的运算,已经有些公司采用了这样的技术。比如Google和某些证券公司。我现在的项目也是采用了客户端显示特定样式的数据,元数据由服务器提供,显示样式由客户端来渲染。

2,JS可以所见即所得,可以输出图形和漂亮的界面,类似web游戏。见
http://www.goodgoods……
[/Quote]

犀利,云计算是未来.你这个项目是一种嵌入式的么,我也选了嵌入式,看样需要多看看云计算的新闻了.
qq120848369 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 zhangheng0624 的回复:]
引用楼主 qq120848369 的回复:
当然,全书的一个亮点就是避免指针与内存的操作,尽量使用静态数组模拟各种动态结构,例如邻接表,开散列,队列,栈等。 这对于提升数据结构能力也是很好的。


“避免指针与内存的操作”谈C/C++有什么意义...

《算法竞赛入门经典》很薄的一本书,如果真把他当入门书,那就杯具了...
[/Quote]

哇塞,回复那么多了.犀利.

主要是,当你自己独行于那么多算法中,突然有一本书为你以前的知识做一次梳理,又给自己带来新的认识,解答了很多以前的疑惑,这就相当经典了.

黑皮书我也买了,接下来慢慢看那本吧,听说是很难的.
企-鹅 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 qq120848369 的回复:]
当然,全书的一个亮点就是避免指针与内存的操作,尽量使用静态数组模拟各种动态结构,例如邻接表,开散列,队列,栈等。 这对于提升数据结构能力也是很好的。
[/Quote]

“避免指针与内存的操作”谈C/C++有什么意义...

《算法竞赛入门经典》很薄的一本书,如果真把他当入门书,那就杯具了...
超级大笨狼 2010-06-17
  • 打赏
  • 举报
回复
我下一步打算在JS里实现算法和数据结构。

原因有以下:

1,将来是物联网云计算时代,客户端必定要分担服务器的运算,已经有些公司采用了这样的技术。比如Google和某些证券公司。我现在的项目也是采用了客户端显示特定样式的数据,元数据由服务器提供,显示样式由客户端来渲染。

2,JS可以所见即所得,可以输出图形和漂亮的界面,类似web游戏。见
http://www.goodgoodstrade.com/js/colorlines-cxp/

JS和算法数据结构想结合,必然大放异彩。

3,JS程序员不懂算法的居多,要改变这些人的思维,要改变这些人留给人的印象。

加载更多回复(15)

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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