第1章 0的故事——无即是有
本章学习内容
小学一年级的回忆
10进制计数法
什么是10进制计数法
分解2503
2进制计数法
什么是2进制计数法
分解1100
基数转换
计算机中为什么采用2进制计数法
按位计数法
什么是按位计数法
不使用按位计数法的罗马数字
指数法则
10的0次方是什么
10—1是什么
规则的扩展
对20进行思考
2—1是什么
0所起的作用
0的作用:占位
0的作用:统一标准,简化规则
日常生活中的0
人类的极限和构造的发现
重温历史进程
为了超越人类的极限
本章小结
第2章 逻辑——真与假的二元世界
本章学习内容
为何逻辑如此重要
逻辑是消除歧义的工具
致对逻辑持否定意见的读者
乘车费用问题——兼顾完整性和排他性
车费规则
命题及其真假
有没有“遗漏”
有没有“重复”
画一根数轴辅助思考
注意边界值
兼顾完整性和排他性
使用if语句分解问题
逻辑的基本是两个分支
建立复杂命题
逻辑非——不是A
逻辑与——A并且B
逻辑或——A或者B
异或——A或者B(但不都满足)
相等——A和B等
蕴涵——若A则B
囊括所有了吗
德•摩根定律
德•摩根定律是什么
对偶性
卡诺图
二灯游戏
首先借助逻辑表达式进行思考
学习使用卡诺图
三灯游戏
包含未定义的逻辑
带条件的逻辑与(&&)
带条件的逻辑或(||)
三值逻辑中的否定(!)
三值逻辑的德?摩根定律
囊括所有了吗
本章小结
第3章 余数——周期性和分组
本章学习内容
星期数的思考题(1)
思考题(100天以后是星期几)
思考题答案
运用余数思考
余数的力量——将较大的数字除一次就能分组
星期数的思考题(2)
思考题(10100天以后是星期几)
提示:可以直接计算吗
思考题答案
发现规律
直观地把握规律
乘方的思考题
思考题(1234567987654321)
提示:通过试算找出规律
思考题答案
回顾:规律和余数的关系
通过黑白棋通信
思考题
提示
思考题答案
奇偶校验
奇偶校验位将数字分为两个集合
寻找恋人的思考题
思考题(寻找恋人)
提示:先试算较小的数
思考题答案
回顾
铺设草席的思考题
思考题(在房间里铺设草席)
提示:先计算一下草席数
思考题答案
回顾
一笔画的思考题
思考题(哥尼斯堡七桥问题)
提示:试算一下
提示:考虑简化一下
提示:考虑入口和出口
思考题答案
奇偶校验
本章小结
第4章 数学归纳法——如何征服无穷数列
本章学习内容
高斯求和
思考题(存钱罐里的钱)
思考一下
小高斯的解答
讨论一下小高斯的解答
归纳
数学归纳法——如何征服无穷数列
0以上的整数的断言
高斯的断言
什么是数学归纳法
试着征服无穷数列
用数学归纳法证明高斯的断言
求出奇数的和——数学归纳法实例
奇数的和
通过数学归纳法证明
图形化说明
黑白棋思考题——错误的数学归纳法
思考题(黑白棋子的颜色)
提示:不要为图所惑
思考题答案
编程和数学归纳法
通过循环表示数学归纳法
循环不变式
本章小结
第5章 排列组合——解决计数问题的方法
本章学习内容
计数——与整数的对应关系
何谓计数
注意“遗漏”和“重复”
植树问题——不要忘记0
植树问题思考题
加法法则
加法法则
乘法法则
乘法法则
置换
置换
归纳一下
思考题(扑克牌的摆法)
排列
排列
归纳一下
树形图——能够认清本质吗
组合
组合
归纳一下
置换、排列、组合的关系
思考题练习
重复组合
也要善于运用逻辑
本章小结
第6章 递归——自己定义自己
本章学习内容
汉诺塔
思考题(汉诺塔)
提示:先从小汉诺塔着手
思考题答案
求出解析式
解出汉诺塔的程序
找出递归结构
再谈阶乘
阶乘的递归定义
思考题(和的定义)
递归和归纳
斐波那契数列
思考题(不断繁殖的动物)
斐波那契数列
帕斯卡三角形
什么是帕斯卡三角形
递归定义组合数
组合的数学理论解释
递归图形
以递归形式画树
实际作图
谢尔平斯基三角形
本章小结
第7章 指数爆炸——如何解决复杂问题
本章学习内容
什么是指数爆炸
思考题(折纸问题)
指数爆炸
倍数游戏——指数爆炸引发的难题
程序的设置选项
不能认为是“有限的”就不假思索
二分法查找——利用指数爆炸进行查找
寻找犯人的思考题
提示:先思考人数较少的情况
思考题答案
找出递归结构以及递推公式
二分法查找和指数爆炸
对数——掌握指数爆炸的工具
什么是对数
对数和乘方的关系
以2为底的对数
以2为底的对数练习
对数图表
指数法则和对数
对数和计算尺
密码——利用指数爆炸加密
暴力破解法
字长和安全性的关系
如何处理指数爆炸
理解问题空间的大小
四种处理方法
本章小结
第8章 不可解问题——不可解的数、无法编写的程序
本章学习内容
反证法
什么是反证法
质数思考题
反证法的注意事项
可数
什么是可数
可数集合的例子
有没有不可数的集合
对角论证法
所有整数数列的集合是不可数的
所有实数的集合是不可数的
所有函数的集合也是不可数的
不可解问题
什么是不可解问题
存在不可解问题
思考题
停机问题
停机
处理程序的程序
什么是停机问题
停机问题的证明
写给尚未理解的读者
不可解问题有很多
本章小结
第9章 什么是程序员的数学——总结篇
本章学习内容
何为解决问题
认清模式,进行抽象化
由不擅长催生出的智慧
幻想法则
程序员的数学
程序员的数学
时间: 2024-10-06 02:09:02
程序员的数学的相关文章
【程序员的数学思维修炼】总结一
第一章 数据的表示 主要学习了会了 0 不是什么都没有,比如在java里BigDecimal里面是根据最高的那个精度来的,比如1.99+0.01=2.00 这时候提交可能会判错,所以要去掉后导零 为啥要用二进制 还有哪些进制,神奇的八卦,八进制.钟表使用的十二进制.半斤八两十六进制.60年一个甲子六十进制 关于二进制,最主要的是要熟练掌握位运算!一些做题中常用的技巧,比如求n的m次方,判断奇偶,统计一的个数, 这一章里还提到了20!阶乘问题,还记得怎么解决大数阶乘吗. 第二章 神奇的素数 1.验
《程序员的数学思维修炼》 读书笔记
电子书定价: ¥ 45.00 这是什么? 纸书定价: ¥ 45.00 Kindle电子书价格: ¥ 1.99 为您节省: ¥ 43.01 (0.4折) ~ 周颖 等 (作者) 发售日期: 2014年4月1日 本书是一本专门为程序员而写的数学书,介绍了程序设计中常用的数学知识.本书门槛不高,不需要读者精通很多高深的数学知识,只需要读
《程序员的数学》读后感
之前在买书的时候凑单的时候买了一本<程序员的数学>,希望能够提升一下自己解决问题的能力,数学应该是最锻炼脑力的学科了.但是当我兴冲冲的去翻阅这本书的时候,展现在我面前的内容不是很符合我的要求~一句话,知识太过于基础. 我觉得这本书面向的读者更适合那些刚接触程序员的人,这样可以从数学的角度把他们带入程序的世界,这样就有不同的思考方式,能够激起更多的兴趣在程序的世界中走的更远,总的来说是一本非常不错的“数学书”,因为它不是那么晦涩难懂,没有啃不动的定理和公式,这样可以使得你更专注于它传达的知识.
读《程序员的数学》有感
因为本人数学不佳,逻辑思维也不强,最近想提升一下自己的数学素养和逻辑思维能力,于是去图书馆借来了<程序员的数学>一书,拜读之后,有所思有所想,总结如下. 总体来说,这本书对于学习了高中数学的人和有最基础的编程知识(甚至没有)的人来说,都是可以看懂的.本人虽不优秀,但是上过大学之后,看这本书确实觉得内容不是很有深度,但是其中确实有些思想,值得我们学习和研究. 在看书的时候,我也总结了一些自认为比较重要的内容,记录如下: (1) 在十进制计数法中,位数少,但数字种类多-->>对人类来说
程序员的数学1-3完整高清版
资源链接:https://pan.baidu.com/s/1Hlc5r3qcJs7R11Q0bGABLg<程序员的数学>讲解了二进制计数法.逻辑.余数.排列组合.递归.指数爆炸.不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题.高斯求和方法.汉诺塔.斐波那契数列等经典问题和算法.<程序员的数学2:概率统计>涉及随机变量.贝叶斯公式.离散值和连续值的概率分布.协方差矩阵.多元正态分布.估计与检验理论.伪随机数以及概率论的各类应用.<程序员的数学3:线性代数>
作为一个程序员,数学对你到底有多重要
每个计算机系毕业的人,大都学过不少数学课,而且不少学校的计算机系的数学课,通常比一般的其他工科专业的数学要难一些,比如不上高等数学,而是学数学分析,不上线性代数而去上高等代数.但是,大部分毕业了后去做程序员的人,即使是所谓的名校计算机系毕业的,大都工作中也基本完全用不上学的那些数学,基本上,一半时间在CRUD,另一半时间在处理各类字符串.链表.Hash表,知道在面试中回答各种排序的时间复杂度是他们需要的数学的上线了. 而在念书的时候,虽然上大学之前,有不少内行的外行的,年老的年轻的人告诉你,数学
【转】游戏程序员的数学食粮05——向量速查表
原文:http://gad.qq.com/program/translateview/7172922 翻译:王成林(麦克斯韦的麦斯威尔) 审校:黄秀美(厚德载物) 这是本系列大家盼望已久的第五篇.如果你对向量了解不多,请先查看本系列的前四篇文章:介绍,向量基础,向量的几何表示,向量的运算. 这篇速查表会列举一些游戏中常见的几何问题,以及使用数学向量解决它们的方法. 基本向量运算的完整表单 首先,先复习一下. 首先我假设你有一个可用的向量类.它的功能大部分集中在2D上,但是3D的原理相同.差别只
《程序员的数学思维修炼》 读书笔记 Chapter 1 数据的表示
1.未赋值的变量--初始化的必要性. 无初始化时,视语言的不同可能有以下几种情况 1)赋值0 2)赋值空 3)不改变该内存块原值,即随此刻值. 4)编译失败 2.除数为0的判断防ERROR 3.大整数的解决方法 1)在Pascal中超过数据类型上限是会报错的.C等则可能出奇葩数据.实质上更增加了挑错难度.(C类该特性待验证) 2)此时就需要我们所称的 高精度 计算--模拟算法. 通过String(AnsiString)或数组表示一个大整数 根据人类计算思维编写计算逻辑 加减乘代码(http://
《程序员的数学》
今天是星期日,10100天后是星期几? 我们不急于求出10100,而是像1,10,100,1000....这样,依次增加0的个数,观察其规律. 0的个数0 1/7=0余1 →星期一1 10/7=1余3