我正在尝试生成具有特定属性的一组对象的所有可能组合。问题是这些对象只能以某种方式组合,当你“整体”验证对象组合时,它必须符合某些条件。
对象数据存储在SQL Server数据库中(我完全可以控制,因此如果数据需要以不同方式排列,它可以更改)
我正在处理的对象的简化版本是
class Item {
public string Start {get;set;}
public string End {get;set;}
}
如果我有这些对象的列表,例如:
这组项目的结果输出为:
A - >乙
B - > ç
B - >一个
A - > B - > C
e.g。
项目1可以与项目2组合以产生A - > B - > C.
但是第2项不能与第3项结合,因为第2项的结束值与第3项的开始值不匹配。
还有“整体”规则,其中“开始”和“结束”的整体组合不会导致项目进入:
A - > B - >一个
(项目1与项目3)。
最多可以将这些项目中的5个连接在一起。
是否有任何通用的方法可以实现相同的结果?
任何帮助(甚至是指针)都会受到赞赏。