N个节点的图,其中V = {0,1,2,...,N}
此图的所有边都有方向属性,例如向上,向北等,因此被指示。图表相对稀疏。
顶点以三维排列,并且边缘全部具有相等的长度(即向左移动然后向上移动等同于向上移动然后向左移动,如果两条路径都可能的话)相邻顶点可以具有或不具有边缘。
找到以节点J结尾的一系列定向移动,以J结束所有能够到达J的顶点
所以,问题是:
这是什么类型的图形问题?这是怎么分类的?我真诚地怀疑这个问题的独特性,我想在用生病的算法屠杀它之前对它进行分类。
感谢。
编辑:一个例子是8个节点被排列成立方体的角落。假设沿立方体的每个边缘有两个反平行图形边缘(两个方向上的方向边缘)。因此,如果我们说J位于西南角的立方体的“下”平面中,那么向下移动,向西,向南将到达J以获得能够到达J的任何顶点,包括从J本身开始。
答案 0 :(得分:1)
我不完全确定我理解你的问题,但是你为什么不从J开始使用BFS并且总是朝着与边缘相反的方向移动?将找到J可到达的任何顶点(就原始方向而言),您将获得一系列移动(以相反的顺序构造)。更重要的是,您将获得的路径将是最短的路径(因为所有边缘的权重相等)。
时间复杂度尽可能低:O(E)(无论如何你必须构建图形)。
关于你问的分类:这只是一个图搜索问题。
答案 1 :(得分:0)
BFS可用于将图形反转到所有传出边缘,但如果图形中有周期则评估它会很麻烦所以我认为更清晰的方法是评估强连接组件在O(E)
中然后将图形缩小到表示每个SCC的节点,然后在对应于J的节点上的较新图形上使用BFS,并分别用J的SCC重建路径。