全排列的算法(三)——递减进位法

本文介绍了递减进位法生成全排列的原理和算法,通过中介数序列来生成排列。当n不在排列最左端时,找到n的位置进行交换;当n在最左端时,找到连续递减序列,对序列后的元素进行交换,再删除并反序添加到排列左侧,从而得到下一个排列。提供了一个C++实现示例。
摘要由CSDN通过智能技术生成

在递增进位法中,逆序序列最低位是逢21,进位频繁,这是它的一个缺点。排列的逆序序列q0,q1,……,qn-1中记录的是每个排列的元素左边比该元素大的元素个数,如果将它改成记录每个元素右边比该元素小的元素个数,就得到了一个新的序列a0,a1,……,ai,……,an-1,我们称它为中介数序列,它具有与逆序序列相似的性质:

a0=00a1≤10a2≤2,……,0ai≤i,……0

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值