次のアルゴリズム/問題の参考文献を探しています。「BiSelect」、「t-ary Select」、または「Select in Union of Sorted Arrays」という名前を付けましたが、別の名前で以前に導入されたと思いますか?
問題
次の問題を考慮してください。
与えられたの互いに素なソートされたアレイ、各サイズの、及び整数であるもの、そのソート組合番目の値 ?
解決策
k = 2 k = 2 A 1 [ t / 2 ] A 2 [ t / 2 ] A 1 [ t / 2 .. t ] A 2 [ 1 .. t / 2 ] A 1 [ 1 .. t / 2 ] A 2はより小さい)。
時間で実行されているわずかにより洗練されたアルゴリズムにこの一般化の値が大きいため値の中央値計算に基づいて、するための: 最小要素は、が中央値よりも小さい配列でさらに無視でき、のランクの要素はでさらに無視できます他の配列。各繰り返しでが半分になります中央値ではコスト)。
参照?
私は自分の解決策に満足していますが、問題(およびその解決策)はすでにわかっていると思います。これは、中央値を計算するための線形時間アルゴリズムに関連しています(サイズグループをソートし、それらの中央の中央値で再帰する)が、少し一般的です。私はオーフスのマダルゴ(デンマーク)にあるいくつかの大学に質問し、その後、ワークショップStringology(ルーアン)にあるいくつかの大学に成功しませんでした。
動機
この問題の解決策には、配列の遅延データ構造への応用があります(実際、並べ替えられた配列の和集合の遅延データ構造の演算子と見なすことができます)。より複雑な方法で、最適なプレフィックスのないコードの適応計算に。