算法的乐趣

算法的乐趣

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.887 评价豆瓣读书
阅读

作品简介

算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在:

历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法;

音频播放器跳动的实时频谱背后是离散傅立叶变换算法;

DOS时代著名的PCX图像文件格式使用的是简单有效的RLE压缩算法;

RSA加密算法的光环之下是朴实的欧几里德算法、蒙哥马利算法和米勒-拉宾算法;

井字棋、黑白棋、五子棋和俄罗斯方块游戏背后是各种有趣的AI算法;

华容道游戏求解的简单穷举算法中还蕴藏着对棋盘状态的哈希算法;

遗传算法神秘不可测,但用遗传算法求解0-1背包问题只用了60多行代码……

一本书带你走进色彩缤纷的算法世界,让你尽享算法的乐趣。

王晓华

2005年毕业于华中科技大学,目前在中兴通讯上海研发中心从事光纤接入网通讯设备开发,担任EPON(以太网无源光网络)业务软件开发经理,参与开发的PON设备在全球部署过亿线,为数亿家庭提供宽带接入服务。

业余时间喜欢研究算法和写作博客(http://blog.csdn.net/orbit),最大的乐趣就是用程序解决生活中的问题:

为了方便使用Visual Studio 6.0开发软件,曾特意编写并开源了一个tabbar插件;

为了文档安全,开发了一个基于layerFSD技术的透明文件加密系统;

使用Source Insight软件觉得不习惯,于是以外挂的形式开发了TabSiPlus插件……

算法可以做的事情还有很多,期待我们会有更多发现!

作品目录

评论

载入中

热门划线

  1. 数学模型、输入输出方法和算法步骤是编写计算机算法程序的三大关键因素。8 人
  2. 就算法模式而言,处理各种求最优解问题时,人们常用贪婪法、动态规划法等算法模式;处理迷宫类问题时,穷尽式的枚举和回溯是常用的模式。就算法的实现方法而言,如果算法需要频繁地查表操作,那么数据结构的设计通常会选择有序表来实现;反过来,当设计的算法用到了树和图这样的数据结构时,含有递归结构的方法就常常伴随它们左右。7 人
  3. 当然,也破除了“数学是各种科学之母”之类的迷信,数学当然不是“科学之母”,而是“科学之子”,是先有物理学、力学和天文学,才有的数学;先有应用场景后有工具,先有探索后有归纳。5 人
  4. 顺序执行、循环和分支跳转是程序设计的三大基本结构,算法也是程序,千姿百态的算法也是由这三大基础结构构成的。5 人
  5. 递归结构使用的函数递归调用,会增加任务的栈空间使用,用递归方法解决问题的规模受系统栈空间的约束,除此之外,函数调用时的参数入栈和出栈也会降低算法的效率。5 人
  6. 数组、链表、栈和队列是四种最常见的线性表5 人
  7. 贪婪法(greedy algorithm),又称贪心算法,是寻找最优解问题的常用方法。这种方法模式一般将求解过程分成若干个步骤,在每个步骤都应用贪心原则,选取当前状态下最好的或最优的选择(局部最有利的选择),并以此希望最后堆叠出的结果也是最好或最优的解。5 人
  8. ,此时只需将head指针向前移动一位,就可以在tail位置写入新的记录。4 人
  9. 严格来说,栈不是一种数据存储方式,而是一种逻辑管理方式4 人
  10. 而在数学上,只要是能用数学归纳法证明的问题,一般都可以应用分治法解决,这也是一个应用分治法的强烈信号。4 人

喜欢这本书的人也喜欢