数学归纳法在数据结构与算法分析设计中的应用

最简单和常见的数学归纳法是证明当n等于任意一个自然数时某命题成立。证明分下面两步:

  • 证明当 n= 1 时命题成立。
  • 假设 n=m 时命题成立,那么可以推导出在 n=m+1 时命题也成立。(m代表任意自然数)

1. 图

  • G=(V, E) 为一个有向图或无向图,假定 BFS 以给定结点 sV 作为源节点在图 G 上运行。则在 BFS 终结时,对于每个结点 vV,BFS 计算得到的 v.d 满足 v.dδ(s,v)δ(s,v)sv 的最短路径,v.d:以 BFS 的方式从源点出发到 v 之间的距离)。

    以数学归纳法的方式进行证明,此外还需理解的细节即是,BFS 的方式需借助先进先出的队列,其最核心的两个操作,enqueue 与 dequeue。我们的归纳假设是:对于所有的结点 vVv.dδ(s,v)

    enqueue(G, u),从结点 u 进行邻接表搜索时发现了结点 v(u 可以到 v,根据三角不等式性,δ(s,v)δ(s,u)+1),根据归纳法假设有 u.dδ(s,u),根据符号 .d 的定义知,v.d=u.d+1,因此:

    v.d=u.d+1δ(s,u)+1δ(s,v)

  • 证明:任意连通无向图 G=(V,E) 满足 |E||V|1

    • 当只有一个顶点时,|E|=0,|V|=1,显然成立;
    • 因为是连通的,故取出一个顶点(|V|=|V|1),以及与之相连的边(不只一个 |E|1+|E|),构成一个新的子图 G=(V,E),根据数学归纳法,则有:

|E|1+|E||E|1+|E||V|1��+1|E|1+|E||V|+1��1|E|1+|E||V|1|E||V|1

原文地址:https://www.cnblogs.com/mtcnn/p/9421353.html