描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 是国际标准书号ISBN: 23954702
产品特色
编辑推荐
程序员的数学三书包括《程序员的数学》《程序员的数学2:概率统计》《程序员的数学3:线性代数》,这套书通俗易懂,穿插大量有趣的实例和图表,以独特的编排巧妙阐述程序员和数学爱好者所需掌握的数学基础知识、概率统计和线性代数知识。三者同时也是机器学习、数据挖掘、模式识别领域必学。
内容简介
《程序员的数学》讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和方法、汉诺塔、斐波那契数列等经典问题和算法。《程序员的数学2:概率统计》涉及*变量、贝叶斯公式、离散值和连续值的概率分布、协方差矩阵、多元正态分布、估计与检验理论、伪*数以及概率论的各类应用。《程序员的数学3:线性代数》主要内容包括向量、矩阵、行列式、秩、逆矩阵、线性方程、LU分解、特征值、对角化、Jordan标准型、特征值算法等。
目 录
前言 第1章 0故事——无即是有 阅读第2章 逻辑——真与假的二元世界 第3 章 余数 ——周期性和分组 第4 章 数学归纳法 ——如何征服无穷数列 第5章 排列组合——解决计数问题的方法 第6章 递归——自己定义自己 第7章 指数爆炸——如何解决复杂问题 第8章 不可解问题——不可解的数、无法编写的程序 第9章 什么是程序员的数学——总结篇译 者 序 前 言 第1部分 聊聊概率这件事 第1章 概率的定义 第2章 多个随机变量之间的关系 第3章 离散值的概率分布 第4章 连续值的概率分布 第5章 协方差矩阵、多元正态分布与椭圆 第2部分 探讨概率的应用 第6章 估计与检验 第7章 伪随机数 第8章 概率论的各类应用 附录A 本书涉及的数学基础知识 附录B 近似公式与不等式 附录C 概率论的补充知识 参考文献前 言 译 者 序 第0章:动机 第1章 用空间的语言表达向量、矩阵和行列式 第2章 秩、逆矩阵、线性方程组——溯因推理 第3章 计算机上的计算(1)——LU 分解 第4章 特征值、对角化、Jordan标准型——判断是否有失控的危险 第5章 计算机上的计算(2)——特征值算法 参考文献
前 言
大家好!我是结城浩。欢迎阅读《程序员的数学》。本书是为程序员朋友们写的数学书。编程的基础是计算机科学,而计算机科学的基础是数学。因此,学习数学有助于巩固编程的基础,写出健壮的程序。有的读者可能会说“但我数学不好啊”。特别是很多读者“一碰到算式就跳过不读”。坦率而言,我自己遇到书中的算式也想跳过不看。本书尽可能减少了“大家不想看的算式”,也没有过多的定义、定理和证明。这是为帮助程序员更容易理解编程而写的书。希望你能通过本书学到有助于编程的“数学思维”。数学思维示例学习“数学思维”说起来太抽象了,我们来举些具体的例子。【条件分支和逻辑】在编程时,我们按照条件将处理方法分为多个“分支”。C 语言和Java 语言中使用的是if 语句。处理方法为: 当满足条件时执行这条语句,不满足条件时执行另一语句。这时,我们就使用了数学领域的“逻辑”来控制程序。因此,编程时必须熟练掌握“ 与”“、或”“、非”、“蕴涵”等逻辑构成元素。【循环和数学归纳法】我们在处理大量的信息时,使用程序进行“循环”操作。比如使用for 语句可以循环处理大量数据。循环中使用的就是“数学归纳法”。【分类和计数方法】在将许多条件和数据“分类”时,程序员必须注意不能有遗漏。这时加法法则、乘法法则、排列、组合等“计数方法”将助你一臂之力。这是程序员应该熟记于心的数学工具。通过本书,也可以学到递归、指数、对数、余数等重要的基础思维方式。人类和计算机的共同战线我们写程序是为了解决人类解决不了的问题。程序员理解问题,编写程序;计算机运行程序,解决问题。人类不擅长重复劳动,很容易厌倦,有时还会出错,但人类擅长解决问题。与此相对,计算机擅长重复劳动,但不能自行解决问题。于是,人机合力,如虎添翼。遇到难题,光靠人类不能解决,光靠计算机也不能解决。而人机合力就能解决问题。这也是本书要传达的主旨之一。不过,编写程序也非易事,无论人类和计算机如何齐心合力,总有解决不了的问题。本书也对人类和计算机的极限进行了分析。希望你在读完本书后能对以程序为媒介的人机合作有更深刻的理解。本书面向的读者本书主要面向的读者是程序员。不过若你对编程或数学感兴趣,读起来也会一样有意思。你不需要精通数学。书中不会出现∑和∫等很难的算式,因此自认为数学不太好的读者也完全可以阅读。阅读本书只需具备四则运算(+- ×÷)和乘方(23=2×2×2)等基础知识。除此以外的知识在书中皆有说明。如果你对数字和逻辑感兴趣,可能会更喜欢本书。你也不需要精通编程。不过如果稍有一些编程经验,可能会更容易理解本书内容。书中有个别例子是用C 语言写的程序,不过即使不懂C 语言也不妨碍理解。本书结构本书各章内容可以按任意顺序阅读,但笔者推荐从第1 章开始按顺序阅读。第1 章对0 进行讨论。以按位计数法为核心,学习如何用0 来简化规则,并对“无即是有”的意义进行了思考。第2 章学习使用逻辑来整理繁琐的内容。介绍逻辑表达式、真值表、德?摩根定律、三值逻辑、卡诺图等。 第3 章讨论余数。我们要记住“余数就是分组”的观点。对于一些难题,有时只要找到周期性规律就能解决。第4 章学习数学归纳法。数学归纳法只需要两个步骤就能证明无穷的断言。本章还会举例介绍使用循环不变式写出正确的循环。第5 章学习排列组合等计数方法。计数的关键在于“认清对象的性质”。第6 章学习自己定义自己的递归。通过汉诺塔、斐波那契数列、分形图形等,练习从复杂事物中发现递归结构。第7 章学习指数爆炸。计算机也很难解决含有指数爆炸的问题。我们将在这里思考研究如何将指数爆炸为我所用,解决大型问题。另外本章还将以二分法检索为例,学习将问题空间一分为二的意义。第8 章以停机问题为例,来说明许多程序上的问题是计算机如何发展都解决不了的。本章也会学到反证法和对角论证法。第9 章回顾本书学习内容,思考人类全面把握结构的能力对解决问题有多大帮助,以及人机协作具有何种意义。致谢首先要感谢马丁?伽德纳。小时候我痴迷于阅读您所著的《数学游戏》,至今仍记忆犹新。此外,还要感谢支持我的广大读者和为我祈祷的基督教朋友们。以下各位为本书提出了宝贵建议并给予了极大帮助,在此深表谢意(按日语五十音图顺序):天野胜、石井胜、岩泽正树、上原隆平、佐藤勇纪、武笠夏子、前原正英、三宅喜义。特别感谢在本书编写过程中给予我极大关怀和支持的SoftBank 出版有限公司的野泽喜美男主编。感谢一直鼓励我的爱妻和两个儿子。本书献给在餐桌上教我方程式乃至微积分的父亲。父亲,谢谢您!2005 年2 月结城 浩
评论
还没有评论。