程序员的数学基础课 数学归纳法(自我提升第二十一天)
这里解释一下为什么一天发的,但是却是一个二十,一个二十一,因为上一篇是我昨天写一半,得睡觉了,所以今天写完才发的。
菜鸟已经感觉手指扛不住了,所以更新完这篇得休息了,读者谅解,话不多说,冲冲冲
文章目录
- 数学归纳法
- 定义
- 特点
- 举例
- 证明
- 递归调用和数学归纳
- 小结
数学归纳法
上次我们聊了迭代法及其应用,不过你知道吗,对于某些迭代问题,我们其实可以避免一步步的计算,直接从理论上证明某个结论,节约大量的计算资源和时间,这就是我们今天要说的数学归纳法。
定义
在数论中,数学归纳法是用来证明任意一个给定的情形都是正确的,也就是说,第一个、第二个、第三个,一直到所有情形,概不例外。
数学归纳法的一般步骤是这样的:
证明基本情况(通常是n = 1 的时候)是否成立
假设n = k -1 成立,再证明n = k 也是成立的(k 为任意大于1的自然数)
特点
用迭代法的计算相比,数学归纳法最大的特点就在于 “ 归纳 ” 二字。它已经总结出了规律。只要我们能够证明这个规律是正确的,就没有必要进行逐步的推算,可以节省很多时间和资源。
举例
上节我们提到,在棋盘上放麦粒的规则是,第一格放一粒,第二格放两粒,以此类推,每一小格内都比前一小格多一倍的麦子,直至放满n个格子。这个时候,国王想知道总共需要多少粒麦子。
我们小时候都玩过 “ 找规律 ” ,你看看是不是这样?
根据这个观察,我们是不是可以大胆假设,前n个格子的麦粒总数就是 2n-1 呢?
对于类似这种无穷数列的问题,我们通常可以采用数学归纳法(Mathematical Induction)来证明。
证明
菜鸟感觉这根本不是重点,直接截图了,复制都懒得搞,其实感觉这一节没什么写的,其实知道数学归纳法是怎么个过程就好,难受,又被马扁子忽悠了一节课!
程序员的数学基础课 数学归纳法(自我提升第二十一天)相关推荐
- 程序员的数学基础课 二进制(自我提升第6天)
文章目录 程序员的数学基础课 1.左移 2.右移 算数右移: 逻辑右移: 3.或 4.与 5.异或 小结: 程序员的数学基础课 基础思想一知识点: 1.明白2进制对于电脑的意义,首先请回答这个问题(菜 ...
- 【程序员的数学基础课-黄申】学习笔记 1-10
博客内容来自--极客学园>程序员的数学基础课 现在数学在程序员的日常里重要性逐渐显现,但作者不建议去啃大学课本,可以先广度再深度. 作者每节课都用心总结截图如下,建议购买课程更新学习 01讲二进 ...
- 程序员的数学基础课之二进制
本内容来自极客时间 程序员的数学基础课 文末黄申老师总结的笔记 什么是二进制? 十进制计数使用 10 作为基数,二进制使用 2 作为基数,二进制的数位就是 2^n 的形式. 计算机为什么使用二进制? ...
- 极客时间程序员的数学基础课_针对程序员和极客的10个很棒的礼物创意
极客时间程序员的数学基础课 假期给程序员朋友和家人的一些礼物提示以及购买链接. 照片由freestocks.org在Unsplash上拍摄 大家好,又是一年中的某个时候,我们喜欢与家人和朋友共度时光, ...
- jsp标签 判断 余数_程序员的数学基础课(三)余数与迭代法
问题:什么是余数 余数的作用? 余数在生活中非常常见,日历,日期,其中包含一个定理 同余定理. 同余定理:余数总是在一个固定的范围内,任意两个整数 a 和 b,如果它们除以正整数 m 得到的余数相等, ...
- 【程序员的数学基础课-黄申】学习笔记 11-20
11讲树的深度优先搜索(上):如何才能高效率地查字典 树的组成和深度遍历方式 12讲树的深度优先搜索(下):如何才能高效率地查字典 配合栈进行遍历,大大节省内存 13讲树的广度优先搜索(上):人际关系 ...
- 程序员的数学之数学归纳法
- 程序员学数学读哪本书?(文末抽奖赠书)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在互联网一直流传了一个这样的段子-- "一流程序员靠数学 ...
- 程序员学数学读哪本书?(文末赠送精美礼品)
关注我们丨文末赠书 在互联网一直流传了一个这样的段子-- "一流程序员靠数学,二流靠算法,三流靠逻辑,四流靠SDK,五流靠Google和StackOverFlow,六流靠百度和CSDN.低端 ...
最新文章
- CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)
- 【斗医】【18】Web应用开发20天
- 如何理解Transformer论文中的positional encoding,和三角函数有什么关系?
- Transform组件C#游戏开发快速入门
- C/C++ 电子书推荐
- vue语法 `${ }` (模版字符串)
- android的文件操作,Android文件操作概要1.ppt
- 面试题25: 合并两个排序的链表
- java concurrent 锁_java并发机制锁的类型和实现
- java 将换行代替_Java批量将文件中的段落替换成空格,根据指定分隔符换行(SQL示例)...
- C# DatatTable某一列是否有重复判断
- ASP.NET MVC中controller和view相互传值的方式
- 计算机英语讲课笔记07
- caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
- asp.net窗体验证123
- JAVA中serialVersionUID可以使用hashCode()赋值
- ShadowGun Shader学习
- 网站微调是什么意思?能带来什么作用?
- Docker硬盘空间使用分析与清理
- SQLiteSpy执行Sql语句提示No such collation sequence : PhoneBook