排列置换与逆置换的原地算法及参数化最小生成树的更强下界
排列置换与逆置换的原地算法
在排列逆置换问题中,目标是设计一个高效的算法,在较小的空间复杂度下完成排列的逆置换操作。
- 算法思路
- 该算法是对已有算法的扩展,遵循在到达循环的领导者时反转每个循环的自然思路,但存在一些额外的技术复杂性。
- 从左到右进行操作,当检测到
i是领导者时,反转其循环。不过,这可能会创建一个领导者i' > i的循环,该循环在未来会再次被反转。
- 相关定义
- 硬循环与软循环 :对于排列
π的一个循环C,如果其最佳b- 楼梯(i, ..., m, ..., i')满足i' > i,则称该循环为硬循环;否则为软循环。 - 切割操作 :为处理硬循环,引入在
y = π(x)之前切割的概念。通过设置π(x) ← ⊥(⊥称为空值)将循环转换为路径P,其中y是路径的第一个元素,x
- 硬循环与软循环 :对于排列
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



