コンピュータサイエンスにおいて、シーケンスのランとは、シーケンスの非減少範囲であり、拡張できません。シーケンスのランの数は、シーケンスの増加部分シーケンスの数です。これは事前ソートの尺度であり、特にシーケンスをソートするためにどれだけの部分シーケンスをマージする必要があるかを表します。
意味
を全順序集合の要素の列とします。のラン は最大増加列です。つまり、と[説明が必要]が存在すると仮定した場合、 となります。例えば、 が自然数 の場合、列にはと の2つのランが含まれます。










を かつ となる位置の数として定義します。これは、マイナス1の連続数として定義されることと同義です。この定義は、 、つまり が、かつ がソートされている場合に限り、となることを保証します。別の例として、および が挙げられます。










実行回数が少ないシーケンスのソート
この関数は、事前ソートの程度を表す尺度です。自然マージソートは r u n s {\displaystyle {\mathtt {runs}}} 最適です。つまり、シーケンスのラン数が少ないことが分かっている場合、自然マージソートを用いて効率的にソートできます。

長距離走
ロングランはランと同様に定義されますが、シーケンスが非減少または非増加のいずれかである点が異なります。ロングランの数は、事前ソートの尺度ではありません。ロングランの数が少ないシーケンスは、まず減少するランを逆順に並べ替え、次に自然マージソートを使用することで効率的にソートできます。
参考文献
- Powers, David MW; McMahon, Graham B. (1983). 「興味深いPrologプログラム集」 DCS技術レポート8313(レポート) ニューサウスウェールズ大学コンピュータサイエンス学部
- Mannila, H (1985). 「事前ソートの尺度と最適ソートアルゴリズム」IEEE Trans. Comput. (C-34): 318– 325. doi :10.1109/TC.1985.5009382.