程序员的数学总结

花了差不多一整天的时间看完了程序员的数学,内容浅显易懂,但是看过后学到的东西还是很多的

1、0的故事

这一章主要是教会我简化问题,0主要是为了简化问题,为了便于统一处理

2、逻辑

切记:不要重复和遗漏,很多代码问题都在这块出现的,找到逻辑的表达很重要

还有德.摩根定律 (!A)||(!B) == !(A&&B)

3、余数

分组的方法解决问题(当然,准确的分类才是最重要的),很多时候,都是先分组,然后就找到了解决方案,写几个特例来看看规律,还有奇偶校验,很多问题看起来不一样,但是解决的方法确实相同的,所以得把问题抽象出来

4、数学归纳法

从特殊推出一般,类似多米诺骨牌,把牌排好(一个倒下能带倒第二个),然后推倒第一张(边界条件),这两个一个都不能少的

有时候用图形画一画,能帮你分析出很多问题,比如说1+3+5的那个,直接把图画出来就好

5、排列组合

不遗漏、不重复,置换(全排列5选5有序),排列(选择排列5选3有序),组合(无序,5选3无序是排列除去选出的3的排列)

放隔板的方法,牛掰

6、递归

自己调用自己,但是问题的规模是不断变小的,然后一定有一个边界条件

汉诺塔,分析出求解的时候的模式,然后就可以用函数表达了,杨辉三角和组合的关系

7、指数爆炸

指数爆炸的问题,切记不要在编程中用到这种复杂度的算法,稍微大点基本就废了,but当做密码的时候,就有用到了,防止暴力破解,位数越多就越优秀了,当然只是从暴力破解的角度来说

同时,换一种思维模式,二分法效率就超高了

8、不可解问题

归谬法:一种神奇的方法,先假设问题的反面是真的,然后推导出与假设矛盾的结果

就酱紫,最重要的其实是多动脑子~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值