因为小编主要使用Python实现,可能描述中会有Python语梗在里面。
进入正题:
例如:我有个数组对象 object[30] = new object[] {a0,b1,...x29 },我们暂定数组objectA 里面有30个对象。已知有很多数组元素中的大小关系。比方说:
已知 a0 < b1; b1 > x29 等。请满足条件的所有排列组合并展示,排列时小的在前,大的在后。
注意:a0 < b1 只能说明 ...a0 ..b1... 可能存在这样的排列不能说明 a0 后紧跟着 b1 。
我已经描述的很通俗,主要寻求满足这样的排列的最优方案,如有能有python 代码实现最好。VB.net,C# 也可以。也能看懂。或者说出一个解决方案也行,我来构代码。
另外说明一点:我现在的处理方式是先穷举所有排列后,然后逐个判断的每个数组元素的前后关系。说白了就是完全采用剔除方法实现。这样的缺点所有人都很能理解,比方说数组对象有100个时,常态的电脑就算多开线程/进程都很难实现。在没有量子计算机的时代,这种方式太low了。