主题:再次请教河里的高手,一个图论问题 -- 棒棒糖
共:💬26 🌺15
对于每个节点i构造一个集合Pi,Pi包含所有小于i且没有后向边连接的节点。这样,对于没有后向路的图,Pi分别是:
P1=[],P2=[1],...,P[N]=[1,2,...,N-1]
而对于你给出的图则有
P1=[],P2=[1],P3=[1,2],P4=[1],P5=[1,2],P[6]=[1,2,3,4,5]
枚举路径的办法同一般的深度优先遍历类似,不过每次选取节点k加入路径的时候,要求Pk为空,
选取k后,对所有的P进行扫描,删除所有的k,
如果选k时候有多个空集备选,则记下回溯点,如果没有任何集合为空则需要回溯。
如果后向边不多的话,此算法应该是近似N平方的。
- 相关回复 上下关系8
🙂再次请教河里的高手,一个图论问题 1 棒棒糖 字1001 2007-06-15 00:52:00
🙂一个算法描述:
🙂如果节点数不多,可否这样做? 1 美人他爹 字459 2007-06-15 12:00:14
🙂用c#实现的 1 闲扫落花 字1316 2007-06-15 09:44:05
🙂算法效率很重要 1 棒棒糖 字126 2007-06-15 10:59:52
🙂程序没有细看,不知道理解的对否 1 棒棒糖 字251 2007-06-15 10:52:18
🙂照你这意思,可以根据反向回路集来求解 1 小愚 字54 2007-06-15 17:01:08
🙂startnodes 1 小愚 字84 2007-06-15 09:56:26