# Fast Algorithms to Enumerate All Common Intervals of Two Permutations

DOI: 10.1007/s004539910014

- Cite this article as:
- Uno, T. & Yagiura, M. Algorithmica (2000) 26: 290. doi:10.1007/s004539910014

## Abstract.

Given two permutations of *n* elements, a pair of intervals of these permutations consisting of the same set of elements is called a *common**interval* . Some genetic algorithms based on such common intervals have been proposed for sequencing problems and have exhibited good prospects. In this paper we propose three types of fast algorithms to enumerate all common intervals: (i) a simple *O(n*^{2}*)* time algorithm (LHP), whose expected running time becomes *O(n)* for two randomly generated permutations, (ii) a practically fast *O(n*^{2}*)* time algorithm (MNG) using the reverse Monge property, and (iii) an *O(n+K)* time algorithm (RC), where *K*\((\leq {n \choose 2})\) is the number of common intervals. It will also be shown that the expected number of common intervals for two random permutations is *O(1)* . This result gives a reason for the phenomenon that the expected time complexity *O(n)* of the algorithm LHP is independent of *K* . Among the proposed algorithms, RC is most desirable from the theoretical point of view; however, it is quite complicated compared with LHP and MNG. Therefore, it is possible that RC is slower than the other two algorithms in some cases. For this reason, computational experiments for various types of problems with up to *n=10*^{6} are conducted. The results indicate that (i) LHP and MNG are much faster than RC for two randomly generated permutations, and (ii) MNG is rather slower than LHP for random inputs; however, there are cases in which LHP requires *Ω(n*^{2}*)* time, but MNG runs in *o(n*^{2}*)* time and is faster than both LHP and RC.