12)
分配不等式
av(bAc)<(avb)八(avc)
对偶aA(bvc)>(aAb)v(aAc)
13)模不等式
aav(bAc)<(avb^c
3.分配格:
满足aA(bvc)=(aAb)v(aAc)和av(bAc)=(avb)A(avc);
4.分配格的充要条件:
该格没有任何子格与钻石格或五环格同构;
5.链格一定是分配格,分配格必定是模格;
6.全上界:
集合A中的某个元素a大于等于该集合中的任何元素,则称a为格的全上界,记为1;(若存在则唯一)
全下界:
集合A中的某个元素b小于等于该集合中的任何元素,
则称b为格的全下界,记为0;(若存在则唯一)
7.有界格:
有全上界和全下界的格称为有界格,即有0和1的格;
8.补元:
在有界格内,如果aAb=0,avb=1,则a和b互为补元;
9.有补格:
在有界格内,每个元素都至少有一个补元;
10.有补分配格(布尔格):
既是有补格,又是分配格;
11.布尔代数:
一个有补分配格称为布尔代数;
第十一章图论
1.邻接:
两点之间有边连接,贝y点与点邻接;
2.关联:
两点之间有边连接,则这两点与边关联;
3•平凡图:
只有一个孤立点构成的图;
4.简单图:
不含平行边和环的图;
5.无向完全图:
n个节点任意两个节点之间都有边相连的简单无向图;有向完全图:
n个节点任意两个节点之间都有边相连的简单有向图;
6.无向完全图有n(n-1)/2条边,有向完全图有n(n-1)条边;
7.r-正则图:
每个节点度数均为r的图;
8.握手定理:
节点度数的总和等于边的两倍;
9.任何图中,度数为奇数的节点个数必定是偶数个;
10.任何有向图中,所有节点入度之和等于所有节点的出度之和;
11.每个节点的度数至少为2的图必定包含一条回路;
12.可达:
对于图中的两个节点v「Vj,若存在连接Vi到比的路,则称Vi与Vj相互可达,也称Vi与Vj是连通的;在有向图中,若存在Vi到Vj的路,则称Vi到Vj可达;
13.强连通:
有向图章任意两节点相互可达;
单向连通:
图中两节点至少有一个方向可达;
弱连通:
无向图的连通;(弱连通必定是单向连通)
14.点割集:
删去图中的某些点后所得的子图不连通了,如果删去其他几个点后子图之间仍是连通的,贝S这些点组成的集合称为点割集;
割点:
如果一个点构成点割集,即删去图中的一个点后所得子图是不连通的,则该点称为割点;
15.关联矩阵:
M(G),mj是m与ej关联的次数,节点为行,边为列;无向图:
点与边无关系关联数为0,有关系为1,有环为2;有向图:
点与边无关系关联数为0,有关系起点为1终点为-1,关联矩阵的特点:
无向图:
1行:
每个节点关联的边,即节点的度;
2列:
每条边关联的节点;
有向图:
3所有的入度
(1)=所有的出度(0);
16.邻接矩阵:
A(G),aj是w邻接到Vj的边的数目,点为行,点为列;
17.可达矩阵:
P(G),至少存在一条回路的矩阵,点为行,点为列;
P(G)=A(G)+A2(G)+A3(G)+A4(G)
可达矩阵的特点:
表明图中任意两节点之间是否至少存在一条路,以及在任何节点上是否存在回路;
A(G)中所有数的和:
表示图中路径长度为1的通路条数;
A2(G)中所有数的和:
表示图中路径长度为2的通路条数;
a3(G)中所有数的和:
表示图中路径长度为3的通路条数;
A4(G)中所有数的和:
表示图中路径长度为4的通路条数;
P(G)中主对角线所有数的和:
表示图中的回路条数;
18.布尔矩阵:
B(G),w到Vj有路为1,无路则为0,点为行,点为列;
19.代价矩阵:
邻接矩阵元素为1的用权值表示,为0的用无穷大表示,节点自身到自身的权值为0;
20.生成树:
只访问每个节点一次,经过的节点和边构成的子图;
21.构造生成树的两种方法:
深度优先;广度优先;
深度优先:
1选定起始点V0;
2选择一个与V。
邻接且未被访问过的节点V1;
3从W出发按邻接方向继续访问,当遇到一个节点所
有邻接点均已被访问时,回到该节点的前一个点,再寻求未被访问过的邻接点,直到所有节点都被访问过一次;
广度优先:
1选定起始点V。
;
2访问与V0邻接的所有节点V1,V2,,Vk,这些作为第一层节点;
3在第一层节点中选定一个节点V1为起点;
4重复②③,直到所有节点都被访问过一次;
22.最小生成树:
具有最小权值(T)的生成树;
23.构造最小生成树的三种方法:
克鲁斯卡尔方法;管梅谷算法;普利姆算法;
(1)克鲁斯卡尔方法
1将所有权值按从小到大排列;
2先画权值最小的边,然后去掉其边值;重新按小到大排序;
3再画权值最小的边,若最小的边有几条相同的,选择时要满
足不能出现回路,然后去掉其边值;重新按小到大排序;
4重复③,直到所有节点都被访问过一次;
(2)管梅谷算法(破圈法)
1在图中取一回路,去掉回路中最大权值的边得一子图;
2在子图中再取一回路,去掉回路中最大权值的边再得一子图;
3重复②,直到所有节点都被访问过一次;
(3)普利姆算法
1在图中任取一点为起点Vi,连接边值最小的邻接点v2;
2以邻接点V2为起点,找到V2邻接的最小边值,如果最小边值
比Vi邻接的所有边值都小(除已连接的边值),直接连接,否则退回Vi,连接Vi现在的最小边值(除已连接的边值);
3重复操作,直到所有节点都被访问过一次;
24.关键路径
例2求PERT图中各顶点的最早完成时间,最晚完成时间,缓冲时间及关键路径.
解:
最早完成时间
TE(vi)=O
TE(v2)=max{0+1}=1
TE(v3)=max{0+2,1+0}=2
TE(v4)=max{0+3,2+2}=4
TE(v5)=max{1+3,4+4}=8
TE(v6)=max{2+4,8+1}=9
TE(v7)=max{1+4,2+4}=6
TE(v8)=max{9+1,6+6}=12
最晚完成时间
TL(v8)=12
TL(v7)=min{12-6}=6
TL(v6)=min{12-1}=11
TL(v5)=min{11-1}=10
TL(v4)=min{10-4}=6
TL(v3)=min{6-2,11-4,6-4}=2
TL(v2)=min{2-0,10-3,6-4}=2
TL(v1)=min{2-1,2-2,6-3}=0
缓冲时间
TS(v1)=0-0=0
TS(v2)=2-仁1
TS(v3)=2-2=0
TS(v4)=6-4=2
TS(v5=10-8=2
TS(v6)=11-9=2
TS(v7)=6-6=0
TS(v8)=12-12=0
关键路径:
v1-v3-v7-v8
Vi
r2
25.欧拉路:
经过图中每条边一次且仅一次的通路;
欧拉回路:
经过图中每条边一次且仅一次的回路;
欧拉图:
具有欧拉回路的图;
单向欧拉路:
经过有向图中每条边一次且仅一次的单向路;
欧拉单向回路:
经过有向图中每条边一次且仅一次的单向回路;
26.
(1)无向图中存在欧拉路的充要条件:
①连通图;②有0个或2个奇数度节点;
(2)无向图中存在欧拉回路的充要条件:
①连通图;②所有节点度数均为偶数;
(3)连通有向图含有单向欧拉路的充要条件:
1除两个节点外,每个节点入度二出度;
2这两个节点中,一个节点的入度比出度多1,另一个节点的入;
度比出度少1;
(4)连通有向图含有单向欧拉回路的充要条件:
图中每个节点的出度二入度;
27.哈密顿路:
经过图中每个节点一次且仅一次的通路;
哈密顿回路:
经过图中每个节点一次且仅一次的回路;
哈密顿图:
具有哈密顿回路的图;
28.判定哈密顿图(没有充要条件)
必要条件:
任意去掉图中n个节点及关联的边后,得到的分图数目小于等于n;
充分条件:
图中每一对节点的度数之和都大于等于图中的总节点数;
29.哈密顿图的应用:
安排圆桌会议;
方法:
将每一个人看做一个节点,将每个人与和他能交流的人连
接,找到一条经过每个节点一次且仅一次的回路(哈密顿图),即可;
30.平面图:
将图形的交叉边进行改造后,不会出现边的交叉,则是
平面图;
31.面次:
面的边界回路长度称为该面的次;
32.一个有限平面图,面的次数之和等于其边数的两倍;
33.欧拉定理:
假设一个连通平面图有v个节点,e条边,r个面,则
v-e+r=2;
34.判断是平面图的必要条件:
(若不满足,就一定不是平面图)
设图G是v个节点,e条边的简单连通平面图,若v>=3,则ev=3v-6;
35.同胚:
对于两个图G1,G2,如果它们是同构的,或者通过反复插入和除去2度节点可以变成同构的图,则称G1,G2是同胚的;36•判断G是平面图的充要条件:
图G不含同胚于K3.3或K5的子图;
37.二部图:
①无向图的节点集合可以划分为两个子集V1,V2;
②图中每条边的一个端点在V1,另一个则在V2中;
完全二部图:
二部图中V1的每个节点都与V2的每个节点邻接;判定无向图G为二部图的充要条件:
图中每条回路经过边的条数均为偶数;
38.树:
具有n个顶点n-1条边的无回路连通无向图;
39.节点的层数:
从树根到该节点经过的边的条数;
40.树高:
层数最大的顶点的层数;
41.二叉树:
1二叉树额基本结构状态有5种;
2二叉树内节点的度数只考虑出度,不考虑入度;
3二叉树内树叶的节点度数为0,而树内树叶节点度数为1;
4二叉树内节点的度数二边的总数(只算出度);握手定理“节点数二边的两倍”是在同时计算入度和出度的时成立;
5二叉树内节点的总数二边的总数+1;
6位于二叉树第k层上的节点,最多有2心个(k>=1);
7深度为k的二叉树的节点总数最多为2k-1个,最少k个(k>=1);
8如果有no个叶子,n2个2度节点,则no=匕+1;
42.二叉树的节点遍历方法:
先根顺序(DLR);
中根顺序(LDR);
后根顺序(LRD);
43.哈夫曼树:
用哈夫曼算法构造的最优二叉树;
44.最优二叉树的构造方法:
1将给定的权值按从小到大排序;
2取两个最小值分支点的左右子树(左小右大),去掉已选的
这两个权值,并将这两个最小值加起来作为下一轮排序的权值;
3重复②,直达所有权值构造完毕;
45.哈夫曼编码:
在最优二叉树上,按照左0右1的规则,用0和1
代替所有边的权值;
每个节点的编码:
从根到该节点经过的0和1组成的一排编码;