の順序はリスト12つのリスト
リスト1に一致するように並べ替えリスト2のためのO(N^2)より良いアルゴリズムがあります比較します注:リスト2は、リスト1と比較して、より多く、少ない、または全く異なるアイテムを持つことができます。
の順序はリスト12つのリスト
リスト1に一致するように並べ替えリスト2のためのO(N^2)より良いアルゴリズムがあります比較します注:リスト2は、リスト1と比較して、より多く、少ない、または全く異なるアイテムを持つことができます。
リスト内のアイテムのタイプの合計順序を作成できる場合は、リスト1のインデックスを作成できます。アイテムをソートする。その後、このインデックスを使用してリスト2を並べ替えることができます。このアルゴリズムは時間的にはO(n log n)であり、スペースには余分なO(n)が必要です。
O(n Log(n))となる可能性は次のようになります。リストの値を構造体の配列/ベクトル/ソート可能な型に読み込む必要があります。
編集後、2番目のリストには最初のリストとの関連性がない可能性があります。したがって、比較関数はそれを考慮する必要があります。比較されている一方または両方の値が最初のリストにない場合、比較関数は値の順序を決定する必要があります(たとえば、最後または最初に行くのですか?)。
あなたはDiff Algorithmをお探しですか?
2つのリストの内容について特別なことがありますか?リスト1と2の要素が同じ場合、リスト1をリスト2にコピーできるように思えます。リスト2にリスト1にない項目がある場合はどうしますか?それはどこに分類されますか? –
は明らかにすることができますか?再オーダーは何ですか?リスト2からリスト1への順列を見つけるのですか? – lijie
編集は物事があまり明確ではなかった!要素が異なるかもしれないときに、リストAを別のリストBにどのように並べ替えるのですか? – lijie