我正在寻找一种计算排列奇偶校验的单遍算法。我假定输入置换由流。输出应为排列的奇偶校验。我对确定性算法应使用多少内存感兴趣。有没有针对该问题的随机算法?
我知道一次计算反转次数会使用内存。使用任何BST都可以轻松获得上限。下限显示在此处:http : //citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.112.5622
las,本文下界的证明不能扩展到奇偶校验情况下(或者对我而言不是那么明显)。
我也知道可以通过确定性算法在时间和O (log 2 n )内存中或在O (n log n )时间和O (log n )内存随机化。参见http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256
主要思想是可以通过公式来计算置换的奇偶性,其中c是循环数,n是大小。作者对排列进行循环分解。因此,可以轻松计算出循环数。
有人知道在流模型中计算奇偶校验的有效算法或内存下限吗?比随机硬币更好的随机算法对我来说也很有趣。