algorithm - 证明图上的广度优先遍历

标签 algorithm graph-algorithm discrete-mathematics proof

我正在尝试证明以下算法以查看是否存在从 uv 的图 G = (V,E) 中的路径

我知道要完成证明,我需要证明终止、不变量和正确性,但我不知道如何证明。我想我需要在 while 循环中使用归纳法,但我不确定如何使用。

我如何证明算法的这三个特征?

最佳答案

免责声明:我不知道你希望你的证明有多正式,我也不熟悉正式证明。

  1. while 循环归纳:一开始是真的吗?它在一个步骤之后是否仍然为真(非常简单的路径属性)?
  2. 同样的想法,对k的归纳(为什么是k+1???):一开始是真的吗?它在一个步骤之后是否仍然为真(非常简单的路径属性)?
  3. 将 Reach 视为一个严格递增的集合。

终止:也许您可以使用与图形直径相关联的非常简单的属性?

(这个问题可能在别处得到更好的回答,也许在 https://cstheory.stackexchange.com/ 上?)

关于algorithm - 证明图上的广度优先遍历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23464469/

相关文章:

algorithm - 如何使用组改进暴力破解算法?

c++ - 如何查找结构列表项

algorithm - 改进的 BFS 时间复杂度

Python、字典和卡方列联表

bitwise-operators - 是否可以使用整数算术实现按位运算符?

java - 为什么在 TreeSet 的 last-method 中实证结果与理论数据不同?

c++ - 三个数字中的最小值

algorithm - 证明寻找最小生成树的新算法的最优性

algorithm - 如何连接一组孤立的顶点

c++ - 新别墅ACM解决攻略