问题描述
假设存在一些未加权的有向图(循环或非循环)
G = (V,E)
C(V',E') = V' + E'
鉴于仅可以添加中间顶点以保留原始图的路径,那么如何导出具有最小成本函数的图?在我看来,添加中间顶点将类似于添加依赖项注入。
例如,假设下面ABCD -> PQRS,PQRS -> WXYZ,E -> S,P -> V
处的黄色图。总成本为顶点数(14)+边数(34)= 48
可以将其简化为上面的蓝色图,其中ABCD -> F,F -> PQRS,PQRS -> G,G -> WXYZ,P -> V
的总成本为顶点数(14 + 2)+边数(18)=34。这里,F
和G
代表中间顶点。
我不确定是否有这样一种算法可以果断地将成本降到最低。
我目前的解决方案是找到每个顶点相对于每个其他顶点的共享边数。如果共享边的数量大于2,则创建一个中间顶点。我认为这不是最佳方案,也不是实际解决方案。
我考虑过的另一种解决方案是(假定它是非循环的)执行拓扑排序,并在每层之间引入中间顶点。与此类问题有关的信息将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)