来自子序列部分的序列?

时间:2017-11-06 22:57:54

标签: algorithm graph sequence

假设我有以下项目:

 1;2;3;4;5;[1,2];[3,4];[1,2,3];[2,3,4]

(注意:我没有提供所有排列,只是其中的一部分)

每个项目都有与之相关的分数。 现在的任务是从可用部分构建序列:

1,2,3,4,5

创建序列的方法有很多种:

the simplest : 1,2,3,4,5
or : [1,2],[3,4], 5
or : 1,[2,3,4], 5
or : [1,2],[3,4],5
or : ........

正确的序列应该是得分最高的序列。

你会怎么做? 图形?

1 个答案:

答案 0 :(得分:1)

使用递归过程来浏览图表。每个子序列是一个节点。边连接节点,其中源节点的结束整数与目标节点的第一个整数相邻。

例如,你有[1]到[2]和[2,3,4]的边。你也有[1,2]到[3]和[3,4]的边缘。

这减少了Dijkstra算法的问题,找到了带加权边的图的最佳路径。