algorithm - 在有向图中找到所有可能路径中的公共(public)路径

标签 algorithm graph static-analysis control-flow-graph

我试图找到循环有向图中每条可能路径总是访问的公共(public)节点。我的想法是计算所有可能的路径,然后搜索公共(public)元素。但是,a) 似乎不是很有效,b) 它没有考虑周期。

目标:是实现oblivious hashing perimeter作为一种防篡改方法。为此,我需要确定一组在控制流图中输入不可知的通用基本 block 。换句话说,我想找到将针对任何给定输入执行的程序的确定性 block (一组基本 block )。

最佳答案

要做您想做的事,您需要为路径提供一组起始顶点和结束顶点。所以你的声明是:

Find all vertices that are always passed when traversing from any vertex in set S to any vertex in set E.

然后您会注意到您要搜索的顶点是顶点分隔符。存在计算最小顶点分隔符的算法。

关于algorithm - 在有向图中找到所有可能路径中的公共(public)路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39296708/

相关文章:

python - 在条件 : O(n) or O(n^2)? 中调用 max 的列表理解的 Big-O

javascript - 使用 RSA 解密字符串

javascript - 选择最佳跨度

algorithm - 连通分量计数算法的运行时间

c - 别名分析和 _restrict 关键字 - C

python - 为什么我的实现不是 O(NlogN)?

graph - 创建网络图

python - 使用字典定义图形和查找路径

c++ - 在 C++ 中强制不使用秃头指针

java - 使用 map 真的能降低圈复杂度吗?