Skip to content

第一章:数理逻辑

1.1 命题逻辑

1.1.1 核心概念深度解析

  • 命题:必须是陈述句且具有唯一真值
    • 易错点:悖论(如"我正在说谎")不是命题;含有未定变量的句子(如"x+1=2")是谓词而非命题。
  • 原子命题与复合命题
    • 原子命题:不能再分解的命题。
    • 复合命题:通过联结词组合而成。

1.1.2 联结词与真值表 (详细版)

联结词符号英文优先级逻辑详解常见语言表达
否定¬NOT1真变假,假变真"并不是..."
合取AND2仅当两者全真时为真"且", "虽然...但是...", "既...又..."
析取OR3仅当两者全假时为假"或" (包含性或)
蕴涵IMPLIES4前真后假时为假,其余全真"若...则...", "只要...就...", "只有...才..."
双蕴涵IFF5同真同假时为真"当且仅当", "充分必要条件"
重点难点:蕴涵关系 (PQ) 的翻译
  • 充分条件:"只要 PQ" PQ
  • 必要条件:"只有 QP" PQ (注意:PQ 的充分条件,或者理解为 ¬Q¬P)
  • 除非:"除非 P 否则 Q" ¬PQ (即 PQ)

1.1.3 命题公式的分类 (Classifications)

常考题型:判断给定公式属于哪一类。

  1. 永真式 (重言式, Tautology)
    • 在所有真值赋值下,结果均为 (1)。
    • P¬P
  2. 矛盾式 (永假式, Contradiction)
    • 在所有真值赋值下,结果均为 (0)。
    • P¬P
  3. 可满足式 (Contingency)
    • 不是矛盾式的公式(即至少有一种赋值为真)。
    • 注意:永真式也是可满足式的一种,但通常指"既非永真也非永假"的公式。

1.1.4 逻辑等值式 (Laws of Logic)

核心:用于化简命题公式。

  1. 双重否定律¬¬PP
  2. 幂等律PPP, PPP
  3. 交换律PQQP, PQQP
  4. 结合律(PQ)RP(QR)
  5. 分配律 (非常重要):
    • P(QR)(PQ)(PR) (析取对合取的分配)
    • P(QR)(PQ)(PR) (合取对析取的分配)
  6. 德·摩根律 (De Morgan's Laws) (变号变词):
    • ¬(PQ)¬P¬Q
    • ¬(PQ)¬P¬Q
  7. 吸收律 (合并同类项):
    • P(PQ)P
    • P(PQ)P
  8. 蕴含等值式PQ¬PQ (去箭头核心公式)
  9. 等价等值式PQ(PQ)(QP)
  10. 假言易位 (逆否命题):PQ¬Q¬P
  11. 归谬律(PQ)(P¬Q)¬P

1.1.4 范式 (Normal Forms)

析取范式 (DNF) 与 合取范式 (CNF)
  • 定义
    • DNF:简单合取式的析取 ()。例如:(PQ)(¬PR)
    • CNF:简单析取式的合取 ()。例如:(PQ)(¬PR)
  • 主范式 (Principal NF)
    • 极小项 (mi):包含所有变量的合取项,编码对应真值表中的行号。
    • 极大项 (Mi):包含所有变量的析取项。
    • 转换方法
      1. 真值表法
        • 主析取范式:取真值表中结果为 T 的行对应的极小项之和。
        • 主合取范式:取真值表中结果为 F 的行对应的极大项之积。
      2. 等值演算法:利用双重否定、德摩根、分配律展开。

1.2 谓词逻辑 (Predicate Logic)

1.2.1 基本要素

  • 个体词:常量 (a,b) 和 变量 (x,y)。
  • 谓词P(x1,,xn),表示个体之间的性质或关系。
  • 量词
    • 全称量词 (For all)
    • 存在量词 (Exists)
  • 论域 (Universe):个体变元的取值范围。若未指定,通常指全总个体域。

1.2.2 翻译技巧 (易错)

  1. "所有的 S 都是 P"
    • 正确:x(S(x)P(x))
    • 错误x(S(x)P(x)) (这意味着宇宙中万物既是S也是P)
  2. "有的 S 是 P"
    • 正确:x(S(x)P(x))
    • 错误x(S(x)P(x)) (这通常是恒真的,没有意义)

1.2.3 谓词逻辑等值式

  1. 量词否定律
    • ¬xP(x)x¬P(x) (改变量词,否定谓词)
    • ¬xP(x)x¬P(x)
  2. 量词辖域扩展 (设 Q 不含 x):
    • x(P(x)Q)(xP(x))Q
    • x(P(x)Q)(xP(x))Q
  3. 量词分配律
    • x(P(x)Q(x))xP(x)xQ(x) (全称对合取可分配)
    • x(P(x)Q(x))xP(x)xQ(x) (存在对析取可分配)
    • 注意 不可分配, 不可分配!

1.2.4 前束范式 (Prenex Normal Form)

形式Q1x1Q2x2QkxkM

  • 所有量词都在最左边。
  • M 是不含量词的基式。

化简步骤

  1. 消去蕴涵:利用 AB¬AB
  2. 否定内移:利用德摩根律和量词否定律,将 ¬ 移到原子公式前。
  3. 变元改名:确保不同量词使用不同的变量名 (如 xP(x)xQ(x) 改为 xP(x)yQ(y))。
  4. 量词左提:利用量词辖域扩展规则将量词提到最前面。

1.3 推理理论 (Inference Theory)

1.3.1 常用推理规则

  1. 假言推理 (Modus Ponens): P,PQQ
  2. 拒取式 (Modus Tollens): ¬Q,PQ¬P
  3. 析取三段论: PQ,¬PQ
  4. 假言三段论: PQ,QRPR
  5. 化简律: PQP
  6. 附加律: PPQ

1.3.2 谓词推理规则

  1. 全称特指 (US): xP(x)P(c) (任意 个体)
  2. 全称推广 (UG): P(x)xP(x) (任意个体 任意) 注意限制条件
  3. 存在特指 (ES): xP(x)P(c) (存在 特指常量 c) 注意 c 必须是新引入的
  4. 存在推广 (EG): P(c)xP(x) (个体 存在)

1.3.3 证明方法

  1. 直接证明法:从前提及其逻辑推论出发,推导出结论。
  2. 附加前提证明法 (CP规则)
    • 若要证 AB,可将 A 作为附加前提加入前提集,只需证出 B 即可。
  3. 反证法 (归谬法)
    • 将结论的否定 ¬C 加入前提集,推导出矛盾 (F)。

第二章:集合论与二元关系

2.1 集合论

2.1.1 基础运算

  • 并 (AB)交 (AB)补 (A¯)差 (AB)
  • 对称差 (AB)AB=(AB)(BA)
    • 属于 A 或属于 B,但不同时属于两者。
    • 特性:AA=, A=A, AB=BA

2.1.2 集合恒等式证明技巧

  1. 子集互证法:证明 A=B 即证 ABBA
    • 任取 xA,逻辑推导 xB
  2. 集合演算法:利用集合恒等式(类似逻辑等值式)进行变形。
    • AB=AB¯ (最常用的变形)
    • 德摩根律:AB=A¯B¯
  3. 成员表法/特征函数法
    • 列出元素属于各集合的所有 0/1 组合,验证结果是否一致。

2.1.3 幂集与笛卡尔积

  • 幂集 P(A)A 的所有子集构成的集合。
    • |A|=n,则 |P(A)|=2n
    • 易错P(A), AP(A)
  • 笛卡尔积 A×B:有序对的集合。
    • |A×B|=|A||B|
    • 不满足交换律:A×BB×A (除非 A=B 或为空)。

2.2 二元关系

2.2.1 关系的表示与基本性质

关系 RA×A 的子集。

  • 表示法:集合表达式、关系矩阵 MR、关系图 GR
五大基本性质 (必须熟练判断)
性质定义矩阵特征图特征
自反性x,(x,x)R主对角线全 1每个节点都有自环
反自反性x,(x,x)R主对角线全 0无自环
对称性(x,y)R(y,x)R对称矩阵 (M=MT)所有边双向
反对称性(x,y)R(y,x)Rx=ymij=1ijmji=0无双向边
传递性(x,y)R(y,z)R(x,z)RM2M (布尔乘)有路必达(形成捷径)

2.2.2 关系矩阵详解

定义:设 A={a1,a2,,an},关系矩阵 MR 是一个 n×n 的 0-1 矩阵。

  • (ai,aj)R,则 mij=1;否则 mij=0
关系运算的矩阵表示
  1. 逆关系MR1=(MR)T (转置矩阵)。
  2. 并集/交集MRS=MRMS, MRS=MRMS (对应位置逻辑运算)。
  3. 复合关系MSR=MRMS (布尔矩阵乘法)。
    • 注意顺序SR 表示先 RS,矩阵乘法也是 MR 在前。
    • 布尔乘法规则:cij=k=1n(aikbkj)
  4. 幂运算MRn=(MR)n (布尔乘幂)。

2.2.3 关系性质的运算封闭性 (表 6.2)

运算自反性反自反性对称性反对称性传递性
逆关系 R1
RS
RS
RS
复合 RS

:表中“是”表示该性质在运算下一定保持,“否”表示不一定保持。

2.2.4 关系的闭包

  • 自反闭包 r(R)=RIA (矩阵:主对角线置1)
  • 对称闭包 s(R)=RR1 (矩阵:MMT)
  • 传递闭包 t(R)=RR2Rn (连通性)
Warshall 算法 (计算传递闭包的核心)

用于在计算机中高效计算 t(R)

  • 输入n×n 关系矩阵 M
  • 逻辑
    text
    for k from 1 to n:
        for i from 1 to n:
            for j from 1 to n:
                M[i,j] = M[i,j] or (M[i,k] and M[k,j])
    直观理解:第 k 轮循环尝试以节点 k 为中转站,如果 ikkj,则建立 ij 的直达路径。

2.2.5 等价关系与划分

  • 定义:满足 自反、对称、传递 的关系。
  • 等价类 [x]R:所有与 x 有关系 R 的元素集合。
  • 划分
    • 集合 A 被划分为若干个不相交的子集,其并集为 A
    • 定理:等价关系与划分一一对应。等价类就是划分出的子集。
    • :整数集上的模 3 同余关系,划分为 {3k},{3k+1},{3k+2} 三类。

2.2.6 偏序关系详解

  • 定义:满足 自反、反对称、传递 的关系。符号
  • 相关符号
    • xyx 小于等于 y (或 x 排在 y 前)。
    • xyxyxy
    • 可比:若 xyyx,则称 x,y 可比。
    • 不可比:若既不 xy 也不 yx,则称 x,y 不可比。
  • 覆盖关系
    • xy 且不存在 z 使得 xzy,则称 y 覆盖 x
    • 哈斯图即是基于覆盖关系绘制的简化图。
哈斯图画法步骤
  1. 画出覆盖关系(即去掉所有自环和传递边)。
  2. y 覆盖 x,则将 y 画在 x 上方并连线。
  3. 方向默认向上,省略箭头。
特殊元素 (重要考点)

(A,) 为偏序集,BA

  1. 极小元B 中没有比它更小的元素。¬xB,xa
  2. 极大元B 中没有比它更大的元素。¬xB,ax
  3. 最小元B 中所有元素都比它大。xB,ax (若存在则唯一)。
  4. 最大元B 中所有元素都比它小。xB,xa (若存在则唯一)。
  5. 下界A 中小于等于 B 中所有元素的元素。xB,lx
  6. 上界A 中大于等于 B 中所有元素的元素。xB,xu
  7. 下确界 (GLB/Infimum):最大下界。符号 infBB
  8. 上确界 (LUB/Supremum):最小上界。符号 supBB
示例:整除关系

A={1,2,3,4,6,12},关系为整除 (|)。

  • 哈斯图层级:12 在顶;4,6 在中;2,3 在下;1 在底。
  • 23 不可比。
  • 子集 {2,3} 的上界是 6,12,上确界是 6
  • 子集 {2,3} 的下界是 1,下确界是 1
  • 定义:偏序集 (L,) 中任意两个元素 x,y 都有确定的上确界 (xy) 和下确界 (xy)。
  • 性质:格可以看作代数系统,满足交换律、结合律、吸收律。

2.3 函数

2.3.1 函数的性质

  • 单射
    • 定义:f(a)=f(b)a=b
    • 判别:陪域中每个元素最多被 1 个箭头指到。
  • 满射
    • 定义:yB,xA,f(x)=y
    • 判别:陪域中每个元素至少被 1 个箭头指到 (值域=陪域)。
  • 双射:既单且满。
    • 只有双射存在逆函数 f1

2.3.2 复合函数

  • (gf)(x)=g(f(x))
  • 性质
    • f,g 都是单射,则 gf 是单射。
    • f,g 都是满射,则 gf 是满射。
    • gf 是单射 f 必为单射。
    • gf 是满射 g 必为满射。

2.3.3 特殊函数与算法复杂度

  1. 取整函数
    • 向下取整 (Floor) x:小于等于 x 的最大整数。
    • 向上取整 (Ceiling) x:大于等于 x 的最小整数。
  2. 算法复杂度 (Big-O Notation)
    • 定义:设 f,g 是从整数集或实数集到实数集的函数。若存在常数 Ck,使得当 x>k 时,|f(x)|C|g(x)|,则称 f(x)O(g(x))
    • 常见阶O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(2n)<O(n!)
    • 判定技巧
      • 忽略系数:7n3O(n3)
      • 只看最高次项:n2+n+1O(n2)

2.3.4 典型考题:等价关系的证明

题目:设 R 是集合 A 上的等价关系,证明 RR 也是 A 上的等价关系。 证明思路

  1. 自反性
    • R 自反 aA,(a,a)R
    • (a,a)RR(通过中间点 a),即 RR 自反。
  2. 对称性
    • 任取 (x,y)RR,则 tA 使得 (x,t)R(t,y)R
    • R 对称 (t,x)R(y,t)R
    • 交换顺序得 (y,t)R(t,x)R(y,x)RR
  3. 传递性
    • R 传递,且 R 是等价关系 RR=R(等价关系的幂运算封闭性)。
    • R 自身具备传递性,故 RR 传递。
    • (注:若题目要求严格分布证明,需设 (x,y)R2,(y,z)R2 推导 (x,z)R2)

第三章:组合数学

3.0 基础数论概念 (补充)

  • 完全数 (Perfect Number)
    • 一个正整数等于其所有真因子(即除了自身以外的约数)之和。
    • 6=1+2+328=1+2+4+7+14
    • 考点:判断给定数字是否为完全数,或计算其真因子之和。

3.1 基础计数原理

3.1.1 加法与乘法原理

  • 加法原理 (分类)S=S1S2 (互不相交),则 |S|=|S1|+|S2|
  • 乘法原理 (分步):步骤 1 有 n1 种,步骤 2 有 n2 种... 则总数为 n1×n2

3.1.2 排列与组合 (Notation: Cnr,Pnr)

模型公式典型场景
排列 (有序)Pnr=n!(nr)!n 人选 r 人排队拍照
组合 (无序)Cnr=n!r!(nr)!n 人选 r 人组队
可重排列nrr 位密码,每位 n 种选择
可重组合Cn+r1rn 种口味冰淇淋选 r 球 (隔板法)

3.1.3 组合恒等式

  1. 对称性Cnr=Cnnr
  2. 帕斯卡公式Cnk=Cn1k+Cn1k1
    • 组合意义:选 k 人,要么包含特定人 A (Cn1k1),要么不包含 A (Cn1k)。
  3. 二项式定理(x+y)n=k=0nCnkxnkyk
    • 推论:k=0nCnk=2n (所有子集个数)
    • 推论:k=0n(1)kCnk=0 (奇数个元素的子集数 = 偶数个元素的子集数)
  4. 范德蒙恒等式Cm+nr=k=0rCmkCnrk

3.2 高级计数方法

3.2.1 鸽巢原理 (Pigeonhole Principle)

  • 原理N 个物体放入 k 个盒子,必有一个盒子至少有 N/k 个物体。
  • 应用技巧:准确定义“鸽子”(物体)和“巢”(分类标准)。
    • :任意 13 人中必有 2 人生肖相同 (13/122)。

3.2.2 容斥原理 (Inclusion-Exclusion)

|A1A2An|

  • 公式|Ai||AiAj|+|AiAjAk|
  • 错排问题 (Dn)n 封信全部装错信封的方法数。
    • Dn=n!(111!+12!+(1)n1n!)
    • 递推式:Dn=(n1)(Dn1+Dn2)

3.2.3 球盒模型 (Twelvefold Way 概览)

n 个球放入 k 个盒子:

球 (Label)盒子 (Label)限制方案数
不同不同kn
不同不同1Pkn
相同不同Cn+k1n (隔板法)
相同不同1Cn1k1 (先各放1个)
不同相同S2(n,k) (第二类斯特林数)

3.3 递推关系 (Recurrence Relations)

3.3.1 线性常系数齐次递推关系

形式:an+c1an1++ckank=0求解步骤

  1. 写出特征方程rk+c1rk1++ck=0
  2. 求特征根 r1,r2,
  3. 写出通解结构:
    • 无重根an=A1r1n+A2r2n+
    • 有重根 (如 r1m 重根):an=(A1+A2n++Amnm1)r1n+
  4. 代入初值求解常数 Ai

3.3.2 生成函数 (Generating Functions)

  • 定义G(x)=n=0anxn
  • 应用场景
    • 求解组合数:如 (1+x)n 的系数。
    • 求解不定方程 x1+x2+x3=k 的非负整数解个数。
      • 构造多项式 (1+x+x2+)3,求 xk 系数。

3.4 典型考题:不定方程解计数

题目:求 x1+x2+x3=15 的整数解个数,满足 x11,0x25,x30解题思路

  1. 换元消下界:令 y1=x110
    • 原方程变为 (y1+1)+x2+x3=15y1+x2+x3=14
  2. 全集计算:无上限限制时的非负整数解。
    • N=C14+3131=C162=120
  3. 容斥处理上界
    • 坏条件 P1x26 (即原题 x2>5)。
    • 在坏条件 P1 下,令 z2=x260
    • 方程变为 y1+(z2+6)+x3=14y1+z2+x3=8
    • |P1|=C8+312=C102=45
  4. 最终结果Ans=N|P1|=12045=75

3.5 典型考题:常系数齐次线性递推关系求解

题目:求解递推关系 an=7an116an2+12an3,初始条件为 a0=0,a1=4,a2=18解题步骤

  1. 构造特征方程 将递推式移项得 an7an1+16an212an3=0。 对应的特征方程为: r37r2+16r12=0

  2. 求解特征根 观察系数,尝试代入 r=2828+3212=0,故 (r2) 是因子。 多项式除法分解得: (r2)(r25r+6)=0(r2)(r2)(r3)=0 解得特征根:r1=2 (二重根),r2=3 (单根)。

  3. 写出通解结构 对于二重根 2 和单根 3,通解形式为: an=(C1+C2n)2n+C33n

  4. 代入初始条件求解常数

    • n=0 时:C1+C3=0C3=C1
    • n=1 时:(C1+C2)2+3C3=4
    • n=2 时:(C1+2C2)4+9C3=18

    C3=C1 代入后两式:

    • 2C1+2C23C1=4C1+2C2=4
    • 4C1+8C29C1=185C1+8C2=18

    联立求解: 由第一式得 C1=2C24,代入第二式: 5(2C24)+8C2=1810C2+20+8C2=182C2=2C2=1 回代得 C1=2(1)4=2C3=(2)=2

  5. 最终解an=(2+n)2n+23n 或整理为: an=(n2)2n+23n

第四章:图论

4.1 图的基本概念

4.1.1 定义与术语

  • G=(V,E)V 为顶点集,E 为边集。
  • 度 (Degree)deg(v) 为关联的边数 (自环算 2 度)。
    • 握手定理vVdeg(v)=2|E|
    • 推论:奇度顶点的个数必为偶数。
  • 子图VV,EE
  • 补图G¯,顶点相同,边互补 (完全图 Kn 减去原图的边)。

4.1.2 图的连通性

  • 路径 (Path)v0,e1,v1,,vk
  • 简单路径:不经过重复边。
  • 基本路径 (Elementary Path):不经过重复顶点。
  • 连通图:任意两点间均有路径。
  • 割点 (Cut Vertex):删去该点及关联边,图分量增加。
  • 割边 (Bridge):删去该边,图分量增加。
  • 连通度
    • 点连通度 κ(G):使图不连通所需删除的最少顶点数。
    • 边连通度 λ(G):使图不连通所需删除的最少边数。
    • 不等式关系κ(G)λ(G)δ(G) (最小度)。

4.1.3 图的矩阵表示

  • 邻接矩阵 A(G)n×n 矩阵,aij 表示 vi,vj 间的边数。
    • 性质:Ak 的元素 aij(k) 表示从 vivj 长度为 k 的路径条数。
  • 关联矩阵 M(G):顶点与边的关系。

4.1.4 图的同构 (Isomorphism)

判断 G1G2 的必要条件 (若不满足则必不同构):

  1. 顶点数、边数相同。
  2. 度数列相同 (将所有点度数排序后一致)。
  3. 连通分量数相同。
  4. 对应长度的回路数相同 (如都有或都没有三角形)。 充分性证明通常需要构造双射函数。

4.2 特殊图类

4.2.1 欧拉图 (Euler) 与 哈密顿图 (Hamilton)

特性欧拉图 (Euler)哈密顿图 (Hamilton)
定义经过每条边恰好一次的回路经过每个顶点恰好一次的回路
判定(充要)连通 + 所有点度为偶数无简单充要条件
判定(充分)-(Dirac) n3,v,deg(v)n/2
半图(路径)连通 + 恰有 0 或 2 个奇度点-
哈密顿图常用判定方式 (充分/必要)
  • 必要条件δ(G)2;且无割点 (2-连通)。
  • Dirac 定理 (充分)n3,δ(G)n/2
  • Ore 定理 (充分)n3 且任意非邻接顶点 u,v 满足 deg(u)+deg(v)n

4.2.2 树 (Trees)

  • 定义:连通且无回路的无向图。
  • 等价性质
    1. 无回路且 E=V1
    2. 连通且 E=V1
    3. 任意两点间存在唯一路径。
  • 度数和vVdeg(v)=2E=2(V1)
  • 叶子与内部点关系:设 L 为叶子数,则 L=2+deg(v)2(deg(v)2)
  • 树中心 (Center)
    • 反复删除所有叶子,最终剩下 1 个或 2 个顶点,这些顶点即中心。
    • 等价表述:中心是到其他顶点最大距离最小的顶点(们)。
  • 二叉树常用关系
    • 满二叉树:若内部结点数为 I,叶子数为 L,则 L=I+1
    • 完全二叉树:n 个结点时高度 h=log2n+1
  • 最小生成树 (MST) 算法
    • Kruskal (加边法):按权值排序,从小到大选边,不构成回路就加入。
    • Prim (加点法):从任意点开始,每次选离当前生成树集合最近的点加入。

4.2.3 平面图 (Planar Graphs)

  • 欧拉公式VE+R=2 (R 为面数,包含无限面)。
  • 定理:连通简单平面图 (V3) 满足 E3V6
    • 证明要点:每个面至少 3 条边,故 3R2E,与欧拉公式联立得 E3V6
    • 性质:简单平面图 (V3) 满足 E3V6
    • 重要证明:存在度数 5 的顶点
      • 假设所有顶点度数 deg(v)6
      • 由握手定理:2E=deg(v)6VE3V
      • 这与平面图性质 E3V6 矛盾。
      • 故必然存在 deg(v)5 的顶点。
    • 推论:K5 (E=10,3V6=9) 不是平面图。
    • 推论:K3,3 (E=9,3V6=12, 但它是二分图无三角形,需用 E2V4, 98) 不是平面图。
  • 常用等价与应用
    • 连通简单平面图:E3V6V(E+6)/3
    • 平均度:d=2E/V<6,因此必存在度 5 的顶点。
    • 判否:若某简单图满足 E>3V6,则必非平面图。
    • 若无三角形 (如二分图),改用 E2V4
  • 库拉图斯基定理 (Kuratowski):图是平面图 不含同胚于 K5K3,3 的子图。

4.2.4 二分图 (Bipartite Graphs)

  • 定义:顶点集可划分为 X,Y,且所有边都在 XY 之间。
  • 判定:图是二分图 图中没有奇数长度的回路
  • 完全二分图Km,n|X|=m,|Y|=n,边数 E=mn
  • 度数与边数xXdeg(x)=yYdeg(y)=|E|
  • 平面图推论:连通简单二分平面图 (V3) 满足 E2V4
  • 二染色判定 (BFS/DFS)
    1. 对每个连通分量,任选起点染色为 0。
    2. 进行 BFS/DFS,对每条边 (u,v) 要求 color[u]color[v]
    3. 若遇到冲突 (已染且相同) 则非二分图;无冲突则是二分图。
  • 匹配:Hall 定理 (相异代表系)。

4.3 核心算法逻辑

4.3.1 最短路径 (Dijkstra)

适用于非负权图。

  1. 初始化:S={start}, dist[start]=0, 其他无穷大。
  2. 循环:
    • VS 中找 dist 最小的点 u
    • 加入 S
    • 松弛 (Relax) u 的所有邻居 v:若 dist[u]+w(u,v)<dist[v],则更新。

4.3.2 图着色 (Graph Coloring)

  • 点色数 χ(G):相邻顶点不同色所需的最少颜色数。
  • 布鲁克定理 (Brooks):若 G 不是奇环也不是完全图,则 χ(G)Δ(G) (最大度)。
  • 平面图四色定理:平面图 χ(G)4
  • 色多项式 Pk(G):用 k 种颜色染色的方案数。
    • 递推公式:Pk(G)=Pk(Ge)Pk(Ge)
      • Ge:删边。
      • Ge:收缩边 (合并端点)。

4.3.3 最优二叉树 (Huffman Coding)

常考题型:给定一组权值,构造哈夫曼树并计算带权路径长度 (WPL)。

  1. 算法步骤
    • 初始化:将所有权值看作独立的单节点树森林 F={T1,T2,}
    • 循环
      1. F 中选出根节点权值最小的两棵树 T1,T2
      2. 构造新树:根权值为 W(T1)+W(T2),左右子树分别为 T1,T2
      3. F 中删除 T1,T2,加入新树。
      4. 重复直到 F 中只剩一棵树。
  2. 带权路径长度 (WPL)
    • WPL=i=1nwi×li
    • wi:第 i 个叶子的权值。
    • li:第 i 个叶子到根的路径长度(边数)。
    • 简便算法:WPL = 所有非叶子节点的权值之和。

上次更新于: