写程序真的没有意思吗?对于不是热爱技术的人来说,的确很没意思。但是很多人往往对此乐此不疲,因为他们热爱编程,热爱探索,在探索的过程中,从而发现编程中的隐藏的美。本书让我们在解决问题是应该学会多思考,并以不同的方式解决不同情况下的问题。
本书的试读版列出了第二章的内容,主要是收集了一些好玩的对数字进行处理的题目。很多看似简单的题目,做起来并不那么简单,就拿本章的第一道题目来说,求解二进制数中1的个数。事实上,在编写程序的过程中,根据实际应用的不同,对存储空间或效率的要求也不一样。作者给了几种不同的解法,效率也不同,在不同的情况下,有不同的的选择,有时需要时间换空间,有时需要空间换时间,当然还有更多的解法。关于效率,2.9节斐波那契数列一节中较好的体现出来,使用递归的解法思想上比较简单,但是当N的值较大时处理起来可能就会比较慢,所以作者介绍了分之策略,使得算法的时间复杂度是O(log2n),从而提升了效率。还有一个感受就是学过的数学很多都忘了,很多公式原理之类的刚开始看还真不知道是什么,比如特征方程,通过google才知道是什么。
整体而言,书还是不错的,这可以当做一本习题集,也可以拿来重温数学和编程技能,开拓思路,享受思考的乐趣。看的时候发现了个别错误,比如说2.2节p123页的第一段中(1010)应该是(0110),还有感觉一些语句乍看之下有点歧义,比如2.11节的图2-8 七个平面上的点,个人感觉“平面上的七个点”可能会更好点。可能是我理解不对?当然这本书的确是一本指的读的书(至少对我而言很好,我的算法太差,可以说零基础,就当研究学习了)。
分享到:
相关推荐
根据提供的文件信息,可以提炼出一系列与批判性思维、学习方法、信息评估及沟通技巧相关的知识点。 ### 批判性思维 #### 1....批判性思维是一种系统评估自己所见所闻的思维习惯,它要求我们不仅要吸收信息,更要对...
《UNIX编程艺术》主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S.Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为...
第9章详细介绍了作者曾经的冠军作品——跨终端存储方案(Storage),这是一个利用Web技术实现统一数据存储与访问的方案。 第10章完整阐述了如何通过脚本录制和回放技术实现跨终端动作同步。这项技术允许开发者记录...
09金融联考复习全书——辅导讲义(试读版)
JAVA并发编程艺术 高清pdf : 1.并发变成的挑战 2. java并发机制的底层实现原理 3. java 内存模型 4. java并发编程基础 5.java中的锁。。。。。。。
并行计算的编程模型试读版
### 前端面试江湖试读样章:掌握面试本领 在当今的IT行业中,前端开发作为连接用户界面与后端服务的关键环节,其重要性不言而喻。因此,对于求职者而言,掌握前端面试的相关知识和技术点显得尤为重要。本文将基于...
在"JSF第一步--JSF+Spring+Hibernate+AJAX编程实践 试读"这本书中,读者可以期待学习如何设置这些技术的集成环境,创建JSF组件,配置Spring容器,理解Hibernate的映射和查询机制,以及如何在JSF中使用AJAX进行异步...
《Java程序员面试宝典(第4版)试读样章》主要是一本针对Java程序员面试的准备资料,其内容覆盖了Java程序员面试中的关键知识点和常见面试题,帮助求职者在面试中更好地展示自己的专业技能和解决实际问题的能力。...