
离散数学
文章平均质量分 72
trouble-i-am-in
我就是个彻头彻尾的loser,所以我除了我的命,我没什么好输的了。
展开
-
《离散数学及其应用》章节总结与github地址
github代码仓库地址《离散数学及其应用》暂时结束《离散数学及其应用》学习笔记。这里的所有的markdown语法都是我在Mac的Typora上能完美显示的,如果有latex显示不对的地方,可能是软件原因。其中Code部分的代码,有的是我没有写完,有的可能是有问题的,我没有时间一一整理了,我的运行环境是php 7.3。我的优快云博客地址,这里也有一些备份文件,只是因为latex的支持有问题,所以我特意在这里备份一份数据(因为我知道如果存电脑上,肯定会因为我重装系统把数据弄没掉)。最后祝贺自己原创 2021-03-14 14:26:51 · 1459 阅读 · 0 评论 -
13.1 语言和文法
13.1 语言和文法这里刚开始名词有点多,一定要先理解这些名词才能往下看。我们逐步拆分下面的定义啊:句子名词短语+动词短语冠词+形容词+名词+动词+副词 / 冠词+形容词+名词=名词短语,动词+副词=动词短语the + 形容词+名词+动词+副词 / the 是冠词的其中一种the + beautiful +名词+动词+副词the + beautiful+lady+speak+loudly.然后我们知道,仅仅以英文来说,是由24个英文字母+符号组成的,我们先定义一个概念:V,其包含所有组原创 2021-03-08 23:27:57 · 332 阅读 · 1 评论 -
12.4 电路的极小化
12.4 电路的极小化在之前构建布尔函数部分,我们知道根据真值表我们可以写出所有的布尔函数,但是问题是这些布尔函数在电路实现上并不一定是最优价,比如:F(x,y,z)=(x+y)z‾=xyz‾+xy‾z‾+x‾yz‾F(x,y,z)=(x+y)\overline{z}=xy\overline{z}+x\overline{y}\overline{z}+\overline{x}y\overline{z}F(x,y,z)=(x+y)z=xyz+xyz+xyz在拆开来之前,就只需要一个+,一个-,一个.原创 2021-03-07 22:02:09 · 293 阅读 · 0 评论 -
12.2 布尔函数的表示
12.2 布尔函数的表示极小项这个不用管那么多,其实就是所有变元做布尔积。比如3个布尔元x,y,z:xyzxyz00000010010001101000101011001111可以看到这种情况下,只有所有变元都是1,最终结果才为1,其他情况下都是0。构建布尔函数在之前都是如果知道布尔函数,可以通过定理来化简布尔函数,但是如果只知道真值表,如何构建布尔函数呢?比如下面的真值表:原创 2021-03-03 23:54:17 · 2652 阅读 · 2 评论 -
12.1 布尔函数
12.1 布尔函数这个基本和逻辑部分是类似的:补:1‾=0,0‾=1,就是逻辑关系中的¬+,OR:1+1=1,1+0=1,0+0=0,就是逻辑中的∨∙,AND:1∙1=1,1∙0=0,0∙0=0,就是逻辑中的∧补:\overline{1}=0,\overline{0}=1,就是逻辑关系中的 \neg \\+,OR:1+1=1,1+0=1,0+0=0,就是逻辑中的 \vee\\\bullet,AND:1 \bullet 1=1,1 \bullet 0=0,0 \bullet 0=0,就是逻辑中的 \原创 2021-03-03 22:39:44 · 2116 阅读 · 5 评论 -
11.5 最小生成树
11.5 最小生成树生成树的基础概念见这里连通加权图里的最小生成树是具有边的权之和最小的生成树。简单来说就是,首先这个图中每条边都有权重,而该图的生成树有很多种生成树,其中各个边权重加在一起最小的就是最小生成树。普林算法参考油管视频比如下面这张图。随便选择一个点,比如选g,从g的边中选择一条权重最小的边。就是g-d,所以现在就从{g,d}的所有边中选择一个权重最低的,就是d-e。接着重复上面的过程,应该是g-e,但是这样就会构成回路了,不符合生成树的定义,所以不能选,抛开这条之后原创 2021-02-18 22:32:15 · 239 阅读 · 0 评论 -
11.4 生成树:n皇后问题
11.4 生成树:n皇后问题抛开西洋棋的规则,简单点就是,如果你在下面的图中放入一个棋子,则灰色部分都不能用了:即左右,对角线的空格都不能使用了,在这种情况下,问在n*n的格子中如何放置最多这样的黑色格子。这里以4*4的格子为例:展示了一种摆法。在这里要用到深度优先搜索,也叫做回溯的算法来找。首先说一下找的核心原理,就是从第1行开始找,找到一个合适的位置,比如(0,0)(数组下标是从0开始的)。再来从第二列开始找合适的位置,结合上面的图我们就可以找到第二行合适的位置为(2,1):但是原创 2021-02-18 16:56:42 · 395 阅读 · 0 评论 -
11.4生成树:深度优先搜索(DFS)代码示例
深度优先搜索的概念见这里代码例子:<?phpclass Leaf{ public $label; public $nextLeave=[]; public function __construct($label) { $this->label=$label; }}class Side{ public $leftNodeLabel; public $rightNodeLabel; public functi原创 2021-02-18 13:11:48 · 602 阅读 · 1 评论 -
11.4 生成树:基础概念介绍
11.4 生成树图的基础知识设G是简单图。G的生成树是包含G的每个顶点的G的子图。比如对于下面的左图,右图就是其生成树中的一种:所以也可以说:简单图是连通的,当且仅当它有生成树。这个概念可以类比到哈赛图,或者关系中的传递性质。深度优先搜索 / 回溯:DFS之前还有一个广度优先搜索的内容,用来找最短路径的。这里深度优先搜索则是在一个简单图中构建生成树的方法。比如上面这张图,假设以f作为根节点,然后开始构建。首先就是顺着边走,走过的点不能重复走。就可以得到下面的图片:然后原创 2021-02-18 10:40:32 · 1432 阅读 · 2 评论 -
11.3 树的遍历:LDR,LRD,VLR 相关代码
11.3 树的遍历:LDR,LRD,VLR 相关代码基础定义介绍见这里VLR:前序遍历LDR:中序遍历LRD:后序遍历<?phpclass Leaf{ public $leftLeaf; public $rightLeaf; public $label; public function __construct($label) { $this->label=$label; }}/** * 前序遍历 * @p原创 2021-02-17 20:51:40 · 512 阅读 · 1 评论 -
11.3 树的遍历:前序遍历,后续遍历,后序遍历
11.3 树的遍历通用地址信息这玩意很简单,就是可以采用下面的形式标记树中每个点的位置:就是类似上面这样的图一样。前序遍历,后续遍历,后序遍历参考B站视频中缀,前缀和后缀记法首先就是用二叉树来表示所需要进行的计算,比如式子:(x+y)*2+(x-4)/3可以用二叉树来表示:中缀记法然后我们只需要对其进行中序遍历,就可以获得原来的式子了,但是为了跟原来的式子一致,我们还需要括号。然后用这种方式获得的式子就是中缀记法。前缀记法 / 波兰记法在上面我们对上面的树采用中序遍历,这里改成原创 2021-02-17 16:54:56 · 957 阅读 · 1 评论 -
11.2 树的应用:前缀码
前缀码这玩意很有意思啊,假设我们用固定长度的5个byte位来表示26个英文字母,比如:00000:a00001:t这样当我们想传递单词at的时候,就可以传输01的电信号00000001。但是接下来,试想有没有可能采用下面的形式来表示数据呢?即:e的编码为:0a的编码为:10t的编码为:110s的编码为:111这样当我们想传输teas的时候,就可以传输teas110010111即传输110010111。这样带来的挑战是什么?就是我们没有办法原创 2021-02-17 14:39:02 · 1264 阅读 · 0 评论 -
11.2 树的应用:决策树
决策树顾名思义,就是帮人做决策的嘛,这是我找到的最浪漫和最简单的例子,就是假设你是泰坦尼克号上的一名乘客,你是否会获救:然后树上的核心就是如何用决策树来做二元比较,例如来比较a,b,c三个元素的大小:再来就是归纳一下,假设要做二元比较的数字是n,问结果有多少种可能,这个类似排列组合中的排列,即排列n个元素,结果有n!种可能,对应到上面的树中,即树叶数为n!,根据在这里得到的,当确定叶子数时,树的高度公式可得:h≥⌈log2n!⌉h \geq \left\lceil \log_{2} n! \原创 2021-02-16 15:44:08 · 206 阅读 · 0 评论 -
11.2 树的应用:二叉搜索树
二叉搜索树首先说这玩意是干啥的,就是以一定的规则存储数据,然后方便搜索的,至于为啥方便,我就不知道了。。。。。。先说咋构建一个二叉搜索树,假设要存储的数据为:50,30,20,67,80,90,49,32。然后在开始构建前,规定左子<右子,右子>当前顶点(为了处理值跟当前节点一致的问题)。其实很简单,就是从根开始比较,一个顶点一个顶点的比下去,如果小于等于当前顶点,就跟当前顶点的左子比,没有左子那么就当其左子。如果大于当前顶点,就跟右子比,如果没有右子就当其右子。来到左子或者右子之后原创 2021-02-16 15:43:22 · 217 阅读 · 0 评论 -
11.1 树的概述:树的性质
11.1 树的概述:树的性质带有n个顶点的树含有n-1条边这个很容易理解,每2个顶点之间有1条边嘛。带有i个内点的满m叉树含有n=mi+1个顶点内点就是该顶点有孩子这个证明很简单,因为是满m叉树,且有i个内点,所以边的总数为mi,然后结合上面的定理:n-1=mi,即n=mi+1。一个满m叉树若有:{n个顶点,则有i=n−1m个内点和l=(m−1)⋅n+1m个树叶i个内点,则有n=mi+1个顶点和l=(m−1)i+1个树叶l个树叶,则有n=ml−1m−1个顶点和i=l−1m−1个内点原创 2021-02-16 10:45:36 · 718 阅读 · 0 评论 -
11.1 树的概述:基础定义
11.1 树的概述:基础定义树是没有简单回路的连通无向图。一个无向图是树当且仅当它的每队顶点之间存在唯一简单通路。回路的定义见这里然后由多个树组成的图就是森林。树采用T表示。有跟树上面说树是没有方向的,但是如果我们在一个树中指定一个顶点为根,然后从这个根指向其他顶点作为方向时,就形成了有根树,即有向图。有跟树是指定一个顶点作为根并且每条边的方向都离开根的树。比如上面的图所示。再来拿下面这张图说明以下这些概念:父母:即该点在根的方向的上一个点,比如c的父母是b。孩子:即该点在原创 2021-02-15 22:07:54 · 1190 阅读 · 2 评论 -
10.8 图着色
10.8 图着色简单图的着色是对该图的每个顶点都指定一种颜色,使得没有两个相邻的顶点颜色相同。这个很简答吧,如下图所示:图的着色数是着色这个图所需要的最少颜色数。图G的着色数记做χ(G)。图的着色数是着色这个图所需要的最少颜色数。图G的着色数记做 \chi(G)。图的着色数是着色这个图所需要的最少颜色数。图G的着色数记做χ(G)。四色定理平面图的着色数不超过4。这个证明我自己想的,应该没有问题:对于一个原本的图形,我在每个面上加上一个点,如下图所示:这样等于将它的平面图都变成原创 2021-02-15 20:36:37 · 1150 阅读 · 0 评论 -
10.7 平面图
10.7 平面图若可以在平面中画出一个图而边没有任何交叉(其中边的交叉时表示边的直线或弧线在它们的公共端点以外的地方相交),则这个图是平面图。这种画法称为这个图的平面表示。简单来说就是将原来的图采用平面图的形式表示,并且其中的边不交叉。比如下面这张图:采用平面图表示后如下所示:欧拉公式设G是带e条边和u个顶点的连通平面简单图。设r是G的平面图表示中的面数,则r=e-u+2。比如上面的例子中:e=12u=8r=6这里解释一下r=6的由来:证明就算了,直接拿过来用吧。推原创 2021-02-15 19:47:47 · 591 阅读 · 0 评论 -
10.6 最短通路问题:BFS 和 迪克斯特拉算法(Dijkstra)
10.6 最短通路问题:BFS 和 DFS参考的一个油管视频,中文的,讲解的很好BFS:广度优先搜索算法DFS:迪克斯特拉算法BFS这里先介绍广度优先算法,它能处理没有加权的最短路径。具体步骤很简单,举个例子就行了,比如下面这张图:你人在上海,你需要去广州,那么如何获取最短路径呢?首先你先确定从上海出发,能够到达的城市有哪些,接下来,再依次考虑这些城市能到达的下一个城市,其中最快能确定到达广州的,就是你的路线图。具体步骤如下:考量的城市:上海考量的城市:南京,深圳考量的城市:北京,武汉原创 2021-02-14 17:50:48 · 723 阅读 · 2 评论 -
10.5 欧拉通路与哈密顿通路
10.5 欧拉通路与哈密顿通路欧拉通路和欧拉回路图G中的欧拉回路是包含G的每一条边的简单回路。图G中的欧拉通路是包含G的每一条边的简单通路。啥意思呢?先解释简单,即两个顶点之间不能拥有2条边。再来就是需要包含图中的每条边,最后就是回路需要开点和终点一致。比如下面的这张图:欧拉回路:a-bb-cc-ee-dd-cc-a欧拉通路可以直接拿欧拉回路来当例子说明。再比如下面这张图:欧拉回路:不存在。欧拉通路:a-cc-dd-ee-bb-dd-aa-b到原创 2021-02-14 14:04:06 · 3255 阅读 · 0 评论 -
顶点之间的通路数量
顶点之间的通路数量这个证明我暂时先搁置一下,先说结论,一个图中,长度为k的回路(不是简单回路)的数量,等于该图所代表的矩阵的k次乘积后所对应位置的值。比如下面的这张图:对应的矩阵为:a,b,c,d[0110100110010110]\left[\begin{matrix}0 & 1 & 1 & 0 \\1 & 0 & 0 & 1 \\1 & 0 & 0 & 1 \\0 & 1 & 1 & 0原创 2021-02-13 15:24:03 · 1610 阅读 · 0 评论 -
矩阵乘法代码:php版
矩阵乘法的介绍见这里代码见这里,这个代码在之后有用,所以特意单独抽离出来一下。<?php/** * 矩阵乘法 */function arrayMultiplication($data1,$data2){ $columnLength=count($data1[0]); $heightLength=count($data2); $returnData=[]; for($height=0;$height<$heightLength;$height++){原创 2021-02-12 23:14:22 · 378 阅读 · 0 评论 -
10.4 连通性:剩余内容
10.4 连通性:结论以下的名词及其解释都来自这里κ(G)≤λ(G)这个很容易理解,分情况来考虑:对于不连通的图:κ(G)=λ(G)=0对于有割点集的图:κ(G)=λ(G)=1对于没有割点集的连通图:我们从分割后的完全连通图考虑,被删除的边,假设为y,其终点可能指向y个点,换句话说,删除这y个点,也可以实现创建更多完全连通图的效果。但是这y条边一定指向y个顶点吗?不一定,其中可以有2条边指向同一个顶点。所以:κ(G)≤λ(G)\kappa(G) \leq \lambda(G) \\这个很容易理解,分原创 2021-02-12 11:47:30 · 522 阅读 · 0 评论 -
10.4 连通性:基础概念介绍
10.4 连通性:基础概念介绍下面的所有的图都是无向图。通路就是很简单的,比如下面的图中:从点a到点c,(a,b,c)是通路,(a,d,c)也是,但是(a,c)不是,因为没有这条边。回路,圈等就是起点和终点的顶点相同,且通路长度不为0。连通性如果图中的每个顶点之间都有通路,那该图就称为连通的。说人话就是能没有孤立的点,可以通过通路,从一个点走到任何另一个点。割点 / 关节点 & 割边 / 桥就是在连通性的图上,如果少了该顶点,或者少了该边,就组成了两个连通性的图,那么少了点原创 2021-02-11 15:00:40 · 2473 阅读 · 0 评论 -
图的同构
图的同构先解释啥叫同构:“设两个图G1=(V1,E1)和G2(V2,G2)。a,b∈V1,c,d∈V2,若存在一个一对一和满射函数:f,使得f(a)=c,f(b)=d,并且a和b相邻时,c与d也相邻。设两个图G_1=(V_1,E_1)和G_2(V_2,G_2)。\\a,b \in V_1,c,d \in V_2,若存在一个一对一和满射函数:f,\\使得f(a)=c,f(b)=d,并且a和b相邻时,c与d也相邻。设两个图G1=(V1,E1)和G2(V2,G2)。a,b∈V1,c,d原创 2021-02-09 16:17:48 · 2172 阅读 · 0 评论 -
10 图的基础知识
10 图的基础知识无向图和有向图图G=(V,E)由顶点(或结点)的非空集V和边集E构成,每条边有1个或2个顶点与它相连,这样的顶点称为边的端点。即边连接它的端点。有向图G=(V,E)由一个非空顶点集V和一个有向边(或弧)集E组成。每条有向边与一个顶点有序对相关联。我们称有序对(u,v)相关联的有向边开始于u,称为起点,结束于v,称为终点。环的起点和终点是一样的。图的术语领接 / 相邻就是一条边连接两个顶点,相互之间领接。假设一个顶点:u,所有和u相邻的顶点组成的集合记做N(u),称原创 2021-02-09 15:33:44 · 576 阅读 · 1 评论 -
哈赛图
哈赛图先说啥叫哈赛图,就是简化了一些东西的图,而因为一个叫做哈赛的人很喜欢用这种图,所以叫做哈赛图。哈赛图制作过程。假设集合A为:{1,2,3,4},关系为a<=b,所以一般的图为:(4,4),(4,3),(4,2),(4,2)......但是因为关系是自反的,所以我们可以把类似(4,4),(3,3),(2,2),(1,1)的线去掉:接下来因为关系是传递的,所以我们把类似(4,3),(4,2),(4,1),(3,2),(3,1),(2,1)之类的线去掉:[外链图片转存失败,源站可能有防原创 2021-02-06 23:21:23 · 1592 阅读 · 1 评论 -
9.6 偏序
9.6 偏序参照关系的等价有当集合中的一个关系具有自反,反对称和传递时,就称为该关系为偏序。所有集合S中该偏序中元素组成的集合叫做偏序集,记做(S,R)。在开始举具体的例子前,可以结合等价来理解,等价类的中的元素和集合中的其他所有元素,加上其自身与其自身的关系其实就是偏序。比如在整数集合上,关系>=就是偏序关系。所以我们可以表示为(S,>=)。像上面这种关系能举的例子很多,所以我们统一使用(S,≼)来表示偏序。≼表示该关系具有偏序的性质。像上面这种关系能举的例子很多,所以我们统一使用原创 2021-02-06 21:37:37 · 498 阅读 · 0 评论 -
9.5 等价关系
9.5 等价关系等价关系定义:定义在集合A上的关系如果是自反,对称和传递的,则该关系称为等价关系。自反,对称和传递的定义见这里元素等价如果集合A中两个关系是被等价关系关联的,则称它们是等价的,记做 a ~ b等价类在一个集合A中,所有a的等价元素组成的子集合叫做a的等价类,记做[a]R,有时候也可以把下标R去掉,写作[a]在一个集合A中,所有a的等价元素组成的子集合叫做a的等价类,记做 \left[ a\right]_R,有时候也可以把\\下标R去掉,写作[a]在一个集合A中,原创 2021-02-05 22:21:20 · 1051 阅读 · 0 评论 -
沃舍尔算法
沃舍尔算法沃舍尔算法的本质很简单,既然是传递闭包,那么对于像(3,1),(1,2)这样的关系,一定有一个(3,2)的关系,所以我们要做的就是把这些关系补气就行。参考油管视频代码:<?php// 沃舍尔算法function WasherAlgorithm($map){ $count=count($map); for($n=0;$n<$count;$n++){ addNode($map,$n); } return $map; }原创 2021-02-02 23:00:09 · 1522 阅读 · 0 评论 -
9.4 关系的闭包
9.4 关系的闭包先扩充两个概念:逆关系和补关系。假设从集合A到集合B的关系为R,即(a,b)∈R逆关系:R−1:如果(a,b)∈R,则(b,a)∈R补关系:R‾:(a,b)∉R假设从集合A到集合B的关系为R,即(a,b) \in R \\逆关系:{R}^{-1}:如果 (a,b) \in R,则(b,a) \in R \\补关系:\overline{R}:(a,b) \notin R假设从集合A到集合B的关系为R,即(a,b)∈R逆关系:R−1:如果(a,b)∈R,则(b,a)∈R补关系:R:原创 2021-01-31 22:56:09 · 907 阅读 · 0 评论 -
矩阵的布尔积和布尔幂的计算代码
布尔积和布尔幂的定义见这里因为我实在懒得每次都手算一次,那不如写个程序,让计算机帮忙算不就行了,于是就有了这个代码:<?php// 布尔积计算代码function booleanProduct($data1,$data2){ $returnData=[]; $columnLength=count($data2[0]); $heightLength=count($data1); for($height=0;$height<$heightLength;$hei原创 2021-01-31 22:16:13 · 3338 阅读 · 1 评论 -
9.3 关系的表示
9.3 关系的表示这一章统一都是二元关系。矩阵表示这个很简单,就是假设在集合A(1,2,3)和集合B(a,b,c)上的R为{(1,a),(2,b),(3,c)},则采用矩阵表示为:[100010001]\left[\begin{matrix}1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 1\end{matrix} \right]⎣⎡100010001⎦⎤用图表示这里列举一下集合A的关系:(2,1),(3,2原创 2021-01-31 17:02:11 · 200 阅读 · 0 评论 -
9.1 关系及其性质
9.1 关系及其性质关系的定义设A和B是集合,一个从A到B的二元关系是AXB的子集。啥意思呢?就是数据库中的外键的意思,比如下面:解释一下,就是课程a,有学生1和2选择了,课程b有学生1和3选择了。可以采用下面的形式表示:Rab1XX2X3X然后上面的关系可以采用(a,1)∈R表示来自集合1的a和来自集合2的1有关系,也可以表示成aR1,称为a与b有关系R。如果没有关系可以采用在R上加一个斜线来表示。比如:(a,1) \in R表示来自原创 2021-01-31 16:33:41 · 527 阅读 · 0 评论 -
容斥原理应用之:错位排列
容斥原理应用之:错位排列先解释一下什么是错位排列,原先的值不在原先的位置上,就是错误排列,比如下面这两个数组:<?php$array=[ 0=>0, 1=>1, 2=>2, 3=>3];// 这个数组就是错位排列$array2=[ 0=>1, 1=>2, 2=>3, 3=>0];// 这个数组不是错位排列,0还在它之前的位置上$array3=[ 0=>0,原创 2021-01-29 23:01:25 · 943 阅读 · 0 评论 -
8.6 容斥原理的应用
8.6 容斥原理的应用先说一种写法:首先Pi代表一个性质,N(Pi)代表集合中具有该性质的一个元素。∣A1∩A2∩A3⋯Ai∣=N(P1P2P3⋯Pi)代表同时具有集合A1,A2,A3⋯Ai形式的元素,或者说N(Pi)是这些集合的交集中的一个元素N(P1′P2′P3′⋯Pi′)=N−∣A1∪A2∪A3⋯Ai∣N代表总数,或者说全集。N(P1′P2′P3′⋯Pi′)代表不具有A1,A2⋯Ai集合任何性质的元素,按照之前的容斥原理N(P1′P2′P3′⋯Pi′)=N−∑1≤i≤nN(Pi)+∑1≤i<原创 2021-01-29 22:38:15 · 579 阅读 · 0 评论 -
8.5 容斥
8.5 容斥当只有3个集合时,容斥原理的计算公式就是:A∪B∪C=∣A∣+∣B∣+∣C∣−∣A∩B∣−∣A∩B∣−∣B∩C∣+∣A∩B∩C∣A \cup B \cup C=|A|+|B|+|C|-|A \cap B|-|A \cap B|-|B \cap C|+|A \cap B \cap C|A∪B∪C=∣A∣+∣B∣+∣C∣−∣A∩B∣−∣A∩B∣−∣B∩C∣+∣A∩B∩C∣这个很容易理解,但是在上面的基础之上进行扩充呢?假设集合的个数为n时,如何表示所有集合的值呢?∣A1∪A2∪A3⋯A原创 2021-01-26 23:53:59 · 231 阅读 · 0 评论 -
8.3 分治算法和递推关系
8.3 分治算法和递推关系基础内容:假设f(n)为求解问题的规模的总步数,g(n)表示每一步中额外的步骤。假设递推关系中,每次都将问题拆分为d个更小的问题,那么f(n)=f(nd)+g(n)假设 f(n)为求解问题的规模的总步数,g(n)表示每一步中额外的步骤。\\假设递推关系中,每次都将问题拆分为d个更小的问题,那么\\f(n)=f(\frac{n}{d})+g(n)假设f(n)为求解问题的规模的总步数,g(n)表示每一步中额外的步骤。假设递推关系中,每次都将问题拆分为d个更小的问题,那么f(原创 2021-01-26 22:18:09 · 666 阅读 · 1 评论 -
8.2 求解线性递推关系:求解常系数线性非齐次递推关系
求解常系数线性非齐次递推关系基础定义和前提内容如果一个递推关系是非齐次的,形如:an=c1⋅an−1+c2⋅an−2+c1⋅an−3⋯ck⋅an−k+F(n)且F(n)只依赖于n,F(n)≠0a_n=c_1 \cdot {a}_{n-1}+c_2 \cdot {a}_{n-2}+c_1 \cdot {a}_{n-3} \cdots c_k \cdot {a}_{n-k}+F(n) \\且 F(n)只依赖于n,F(n) \neq 0an=c1⋅an−1+c2⋅an−2+c1⋅an−3原创 2021-01-24 16:01:44 · 3515 阅读 · 0 评论 -
8.2 求解线性递推关系:常系数的k阶线性齐次递推关系
8.2 求解线性递推关系常系数的k阶线性齐次递推关系“一个常系数的k阶线性齐次递推关系是形如:an=c1⋅an−1+c2⋅an−2+c3⋅an−3+⋯ck⋅an−k的递推关系,其中c1,c2,c3⋯ck是实数,且ck≠0一个常系数的k阶线性齐次递推关系是形如:\\a_n=c_1 \cdot {a}_{n-1}+c_2 \cdot {a}_{n-2}+c_3 \cdot {a}_{n-3}+\cdots c_k \cdot {a}_{n-k}\\的递推关系,其中 c_1,c_2,c_3 \cdot原创 2021-01-23 16:44:04 · 2829 阅读 · 1 评论