在python的numpy库里没有找到关于生成排列的部分,也没有计算排列逆序数的方法,于是自己写了一个两个函数。

第一个函数,使用了深度搜索的方法。关于深度搜索方法,可以看我以前的文章。

ruby实现算法 深度优化搜索算法实现全排列

ruby实现算法10 深度搜索 拯救公主

以下是用python实现的代码:

计算逆序的四位数python(全排列和逆序数计算方法)(1)

关于这段代码,注释已经比较详细了,此处不再赘述。

接下来是计算逆序数的方法:

计算逆序的四位数python(全排列和逆序数计算方法)(2)

这种算法十分简单,就跟我们自己计算的方法是一样的。

我们在进行一下验证:

计算逆序的四位数python(全排列和逆序数计算方法)(3)

我们来看执行情况:

计算逆序的四位数python(全排列和逆序数计算方法)(4)

在使用的时候,我们可以把这个库引进当前代码。

,