一本书玩转算法,尽享算法的乐趣!

活动内容

活动时间:2015年4月7日-2015年4月14日

活动形式一 :在新浪微博关注@LINUX中国 @图灵教育 转发本微博即可。

微博地址:http://weibo.com/1772191555/CcbjdbzEI
活动形式二:在Linux中国(http://linux.cn)试读图书样张,并进行评论,说说你喜爱它的理由。

活动奖品:《算法的乐趣》图书一本(共5本)

特此注意:

1、本站论坛评论方式参与的用户,评论前需登录您的Linux中国账号,匿名评论无效

2、微博用户参与活动,活动结束后注意查看@Linux中国\_笑语彦然 微博公布的中奖名单或留意您的微博私信,本站用户参与活动,注意查看您注册Linux中国时所填写的邮箱。 我们会通过微博私信以及电子邮件两种方式获取您的邮寄信息。

基本信息

作者: 王晓华

丛书名: 图灵原创

出版社:人民邮电出版社

ISBN:9787115385376

出版日期:2015 年4月

开本:16开

页码:420

版次:1-1

编辑推荐

CSDN超人气博主、算法专栏达人王晓华力作
淋漓尽致展现算法本质,广泛涵盖常用算法结构及其应用
一本书玩转算法,尽享算法乐趣

内容简介

本书从一系列有趣的生活实例出发,全面介绍了构造算法的基础方法及其广泛应用,生动地展现了算法的趣味性和实用性。全书分为两个部分,第一部分介绍了算法的概念、常用的算法结构以及实现方法,第二部分介绍了算法在各个领域的应用,如物理实验、计算机图形学、数字音频处理等。其中,既有各种大名鼎鼎的算法,如神经网络、遗传算法、离散傅里叶变换算法及各种插值算法,也有不起眼的排序和概率计算算法。讲解浅显易懂而不失深度和严谨,对程序员有很大的启发意义。书中所有的示例都与生活息息相关,淋漓尽致地展现了算法解决问题的本质,让你爱上算法,乐在其中。
本书适合软件开发人员、编程和算法爱好者以及计算机专业的学生阅读。
算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在:
历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法;
音频播放器跳动的实时频谱背后是离散傅立叶变换算法;
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插件……
算法可以做的事情还有很多,期待我们会有更多发现!

试读样章:【第一章】 【第七章】

购买链接:http://product.china-pub.com/3771027

已有 26 条评论

  1. 算法应该抽象的很好,这就导致了难理解。就算理解了,在没有实战经验的情况下,你不知道怎么用,在遇到适合的使用的时候也不一定能反应过来。这本书使用一些有趣的实例进行讲解,确实印象深刻且易于理解。 —— 来自 - 广东广州 的 Firefox/Windows 用户 发表。
  2. 算法应该抽象的很好,这就导致了难理解。就算理解了,在没有实战经验的情况下,你不知道怎么用,在遇到适合的使用的时候也不一定能反应过来。这本书使用一些有趣的实例进行讲解,确实印象深刻且易于理解。 —— Jamie 发表。
  3. 通过一些有趣的问题引出算法,并用算法来解决这些有趣的问题,让人觉得不枯燥,有学习的欲望 —— hermione 发表。
  4. 没有算法,就没有软件.没有高效率的算法,就不会有高效率的软件 —— chenyx 发表。
  5. 对于程序员来说,算法的重要性不言而喻,传统的算法教程晦涩难懂,道行尚浅的入门者往往在通向大神的路上夭折,作者另辟蹊径从一系列有趣的生活实例出发,不但使得趣味性大大增加,而且这样是入门门槛也会因此而降低,从此学习算法不再枯燥,值得一看。 —— 来自 - 香港 的 Chrome/Windows 用户 发表。
  6. 对于程序员来说,算法的重要性不言而喻,传统的算法教程晦涩难懂,道行尚浅的入门者往往在通向大神的路上夭折,作者另辟蹊径从一系列有趣的生活实例出发,不但使得趣味性大大增加,而且这样是入门门槛也会因此而降低,从此学习算法不再枯燥,值得一看。 —— 良昭 发表。
  7. 通过贴合实际的示例,介绍了算法的各个方面。相比传统的算法书籍生动许多。和算法讲解搭配的配图很合适,同时没有大段的代码堆砌。适合程序员拓展眼界,开阔思维。 —— taxus 发表。
  8. 程序是算法的体现,算法是要有程序来体现,因此程序就是算法,通过算法来实现程序之道 —— mkj_mkj 发表。
  9. 曾经有人说:学软件最重要的是思想,思想由算法而变,看过一些算法的深表赞同。看了一下,是一本算法类的好书 —— suriealli 发表。
  10. 算法很重要,可是我不会算法!!悲催 —— 来自 - 广东深圳 的 Mozilla/Windows 用户 发表。
  11. 1+1 = 3 不是等于2 —— 浮生一梦 发表。
  12. 这本书既有各种大名鼎鼎的算法,如神经网络、遗传算法、离散傅里叶变换算法及各种插值算法,也有不起眼的排序和概率计算算法。讲解浅显易懂而不失深度和严谨,对程序员有很大的启发意义。算法也是将数学原理用到计算机编程的一个重要环节,求可以得到呀 —— disylee 发表。
  13. 编程思想算法很重要 —— 晨风 发表。
  14. 这本书有很多很基础的算法,也有很多比较高大上的算法,介绍的挺全面的!!! —— 来自 - 广东广州 的 Chrome/Windows 用户 发表。
  15. 这本书有很多很基础的算法,也有很多比较高大上的算法,介绍的挺全面的!!! —— 来自 - 广东广州 的 Chrome/Windows 用户 发表。
  16. 原来是学长的书阿,果断有工科男的笔风,最近找工作遇到好多算法的东东,这本书很有帮助 —— LouisWei 发表。
  17. 就像本书简介中介绍的:小到寥寥数行代码即可展现一个神奇的功能,好的算法才能写出好的代码,别人看看起来会很舒服。如果没有一个完整的算法,编程都不知道该如何下手。 —— Rootman 发表。
  18. 学过Gale-Shapley算法还能帮助程序猿找到女朋友,快来看吧。 —— liuadam 发表。
  19. "typedef struct tarPartner{
            char name[20];
            int next;
           int current;
            int pCount;
           int perfect[SINGLE_COUNT];
    }S_PARTNER;

    int FindFreePartner(S_PARTNER * singles, int count)
    {
           int i = 0;

           for (i = 0; i < count; i++){
                   if ((singles.current == -1) && (singles.pCount !=SINGLE_COUNT)){
                           return i;
                   }
            }
           return -1;
    }

    int GetPerfectPosition(S_PARTNER* single, int id)
    {
            int i = 0;

            for (i = 0; i < SINGLE_COUNT; i++){
                    if (single.perfect== id){
                           return i;
                   }
            }
           return 0x7FFFFFFF;
    }

    int main(void)
    {
            int i = 0;
           S_PARTNER man[SINGLE_COUNT];
           S_PARTNER women[SINGLE_COUNT];

           for (i = 0; i < SINGLE_COUNT; i++){
                   memset(&man, 0x0, sizeof(S_PARTNER));
                   memset(&women, 0x0, sizeof(S_PARTNER));
                    man.current =-1;
                    women.current= -1;
            }
           strcpy(man[0].name, "liyapeng");
           strcpy(man[1].name, "xietingfeng");
           strcpy(man[2].name, "douwei");

           strcpy(women[0].name, "wangfei");
           strcpy(women[1].name, "zhangbaizhi");
           strcpy(women[2].name, "zhouxun");

           man[0].p" —— 来自 - 上海 的 Chrome/Windows 用户 发表。
  20. 算法是解决问题的步骤,程序是算法的代码实现,算法要依靠程序来完成功能,算法是程序的灵魂! —— Yaso-T 发表。

添加新评论