|
|
【首届读书月】数学之美
- flasherfffff 财富等级: 
|
现在的程序员总是用着别人封装好的函数、类、库、API,满满的,我们就会觉得编程不过是这么回事,搭积木而已,别人都把材料提供好了,至于材料是怎么做的,不用理会。 真的是这样吗?说数据结构和算法没用的人,那是因为他用不到。为什么用不到?他的层次决定了他不会接触到编程最关键最核心的部分——算法。 先不说那些反应算法的力量的似乎变态的问题,也不说2006年第4期《程序员》的专题,只说,当我们遇到一个问题时,如何搭建数学模型?当我们在有限的硬件条件下要完成高速的数据处理,如何设计?当我们为客户开发完一套软件后,能不能保证未来几年内数据猛增不会带来计算量的指数级增长?当我们需要升级服务器内存和硬盘是,能不能修改几个函数就避免硬件的投资? 这些问题的答案,请在这本书中寻找。 表、栈、队列、树、图等基本数据结构作者并未花大力气描述,而是重在后面的对这些数据结构的应用上,每一个结论都给出了详尽的数学证明,阅读过程中,我们可以感受到蕴含在其中的匠心独运的逻辑思维之美。借用GOOGLE黑板报的一个专题,算法体现了——“数学之美”。 并不是说本书就很完美了,有些章节讲得太过笼统,读起来跳跃感太强,比如第九章的网络流问题,介绍的太过简单,推导过程中省略了不少步骤,对增广路径算法讲的太粗,至于预流推进算法(Push-Relabel)则根本未提,不能不说是一个小小缺憾。
|
|
此评论对你有用
没用
|
| |
|
|
|
无题
- 222.54.23.*
|
好书! 只是需要相当的基础.
|
|
此评论对你有用
没用
|
| |
|
无题
- 61.154.14.*
|
|
谁知道这本书的源代码在哪里吗?能告诉我吗?谢谢!
|
|
此评论对你有用
没用
|
| |
|
|
|
无题
- Silent_wing 财富等级:
|
书是绝对的好书,只是不适合菜鸟看。翻译有些问题,但如果你适合这本书的水平,那些问题很容易发现。
对于连伪码都不喜欢的菜鸟还是找几本适合入门的书吧。
|
|
此评论对你有用
没用
|
| |
|
无题
- solstice 财富等级:
|
这本书翻译得不错。我在p.111至p.117只发现了三处错误: p.111 the printing of the entire table in sorted order in linear time. 原译:线性时间将排过序的整个表进行打印 我译:在线性时间内按大小顺序打印整张表
p.112 the hash function typically can only assume values between 0 and 1,016. 原译:散列函数只能假设值在0和1016之间 而这里assume是“采取、采用”的意思。 我译:散列函数只能在0至1016之间取值
p.117 Open addressing hashing is an alternative to resolving collisions with linked lists. 原译:开放定址散列法(Open addressing hashing)使另外一种用链表解决冲突的方法。 我译:开放定址散列法(Open addressing hashing)是不同于``用链表解决碰撞(collisions)''的一种方法。
|
|
此评论对你有用
没用
|
| |
|
无题
- solstice 财富等级:
|
第118页至第127页发现三四处可能比较严重的问题,扣掉一星:
p.119 证明的第一行 原译:我们证明,前 floor(TableSize/2) 个备选位置是互异的。 说明:这里 floor() 表示向下取整,而原书写的是 ceil(TableSize/2),表示向上取整。 虽然只相差1,总还是有问题。
p.125 第5段第2行 Each leaf has up to M = 4 elements. 原译:每片树叶有直到 M = 4 个元素。 说明:估计应该是“至多 M = 4 个元素”
p.127 第3段第1行 A hash table is useful for any graph theory problem where the nodes have real names instead of numbers. 原译:散列表对于任何图论问题都是有用的,在图论问题中,节点都有实际的名字而不是数字。 说明:这里作者是说,散列表适用于“节点采用实名(而非数码)”的图论问题,而不是“任何图论问题”。
p.126 L-2 binary search trees also support routines that require order and are thus more powerful. 原译:二叉查找树也支持那些需要序的例程从而更强大。 我译:二叉搜索树也支持那些需要``进行元素大小比较''的操作,因此功能更强。
p.127 第5段第1行 这个最离谱 If misspelling detection (as opposed to correction) is important, an entire dictionary can be prehashed and words can be checked in constant time. 原译:如果错拼检测(与正确性相比)更重要,那么整个目录可以被再散列,单词 则可以在常数时间内被检测。 说明:correction 是“纠正错误” dictionary 是“字典”而非“目录”,prehash 不是 rehash (译者称为“再散列”,我认为可以译作“散列重整”或“重整”) 我译:如果(拼写检查器的)主要功能是检查拼写错误(而非纠正错误),那么可以将 整个字典预先散列(prehash),这样就可以在常数时间内检查单词拼写。
|
|
此评论对你有用
没用
|
| |
|
无题
- 荔园微风 财富等级:
|
书是好书,可惜的是里面给出的又是伪代码,要是每一个 结构能给出完整的源程序(全用C写,并且一定要有main())就好了. 只能怪我自已水平不够了.别人看了后马上就能转化为 自己的东西了.而我做不到.
|
|
此评论对你有用
没用
|
| |
|
无题
- pentstroustrup 财富等级:
|
本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。 在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。 全书特点如下: ●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法 ●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树 ●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构 ●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容 ●合并了堆排序平均情况分析的一些新结果 本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。 本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
|
|
此评论对你有用
没用
|
| |
|
|
|
无题
- jasilin 财富等级:
|
|
我原来那本不见了,今天重新买了它,好好看看了,因为我已经2年没有写过C程序了,现在可能又要开始。。。希望对我有些帮助。。。
|
|
此评论对你有用
没用
|
| |
|
无题
- ilian 财富等级:
|
很多数据结构和算法的书都以 类C(或类什么的)语言讲解的,不过也有许多书籍也有完整的代码。 还有这本书应该不是很好,老外的 算法I—IV、算法导论 非常好!
|
|
此评论对你有用
没用
|
| |
|
无题
- kunmingteacher 财富等级:
|
|
总的来说,不错。比严蔚敏的好多了。强烈推荐,Donald Knuth的The art of computer algorithms ,Robert Sedgewick 的data structures 1---5 和这本。期待这些经典著作早日成为中国大学生的数据结构教材,而不是那些所谓的中国大师们。
|
|
此评论对你有用
没用
|
| |
|
|
|