说我有网址列表,它已经有一些排序;现在让我们添加一些约束 - 假设连续两个链接与同一个域的链接是坏的。
实际上我可能没有什么限制 - 两个,三个,五个,不太可能更多。
现在我想在原始列表中使用,同时在初始排序和约束之间保持一定的平衡。并且这个平衡线应该以某种方式配置。
现在我想到的只是非常直接(我相信容易出错)暴力攻击方法 - 只是遍历列表,计算我关心的每个统计数据,决定通过一些启发式方法向上或向下移动链接,重新计算统计数据并进一步......
答案 0 :(得分:1)
我推迟解决这个问题;但我想出了一个可能的解决方案,我会尝试描述它。
它适用于“不超过N个连续具有相同属性的元素”的问题 - 在我原始情况下与相同域的链接。
所以:
通过这种方式,我们只能在有限的时间间隔内进行排序,而且一般排序不会有太大变化。
当我们列表的一半以上是单个“坏”间隔时,可能我们应该有特殊情况 - 例如,只统一分配它。
答案 1 :(得分:0)
有一篇关于使用约束进行排序的通用算法的IEEE论文....