私は、数の順序付けられたシーケンスの配列をソートする部分である複雑なアルゴリズムを実装しています。アルゴリズム全体はnlog(n)の複雑さである必要があるため、この部分は同じかそれ以上である必要がありますが、これを行う方法がわかりません。
例があります。シーケンスの配列があります:
(0)
(0,1)
(0)
(0,5)
(2,4)
()
(0,5)
()
(2,4)
(1,3,4)
最終的な並べ替えは次のようになります。
()
()
(0)
(0)
(0,1)
(0,5)
(0,5)
(1,3,4)
(2,4)
(2,4)
重要な注意事項がいくつかあります。
- ソートは辞書式順序です
- シーケンスは順序付けられていますが、連続性の保証はありません
- 空のシーケンスもあります
- 同一のシーケンスがたくさんあります
- シーケンスの長さは0から数百で、それ以上はありません
- 配列の長さは100kで、おそらくそれ以上になることはありません
- 最終的な実装はC++で行われますが、今ではおそらく重要ではありません
並べ替えの最良の方法を教えてください。どうもありがとう