データ構造とアルゴリズムの配列のシリーズ---配列のデカルト積を求めます
テーマはn個の配列があって、各配列の中の要素の個数は異なって、このn個の配列のすべての並べ替えの組み合わせを求めます.例えば、A(a 1,a 2,a 3)、B(b 1,b 2)、C(c 1,c 2)の3つの配列がある.デカルト積はa 1 b 1 c 1,a 1 b 1 c 2,a 1 b 2 c 1,...である.
構想は1つの配列count[n]を設定し、n個の配列に対応し、count[i]はi番目の配列の第count]i]個の要素を表す.初期化countはいずれも0であり、各配列を遍歴し、i番目の配列については、その配列からcount[i]番目の要素を取り出す.遍歴するたびに追加される要素は極めて1つの配列です.
アルゴリズム実装
構想は1つの配列count[n]を設定し、n個の配列に対応し、count[i]はi番目の配列の第count]i]個の要素を表す.初期化countはいずれも0であり、各配列を遍歴し、i番目の配列については、その配列からcount[i]番目の要素を取り出す.遍歴するたびに追加される要素は極めて1つの配列です.
アルゴリズム実装
private static LinkedList combineArray(List