2017-11-27 9 views
0

ハッシュマップは物を得るためにO(1)をとります。私がそれをソートしたいのであれば、Collections.sort()でnlognの時間がかかります。代わりにツリーマップを使用すると、それらを追加する間にソートされますので、nlognのソートに費やす必要はありませんが、nlognの検索に時間がかかります。したがって、問題は、手動でhashmap putメソッドを制御して、ハッシュコードの方法を使用せず、代わりに同等のものを並べ替えることができるかどうかです。私は、ハッシュマップを使って多くの挿入と削除を行い、多くのソートを行うプログラムのためにO(1)を探しています。ソートされた方法でハッシュマップに追加してください(Java)

+3

'TreeMap'は、O(n log n)ではなく、検索のためのO(log n)です。 –

+3

しかしあなたの質問に答えるには:できません。あなたは(期待される)O(1)をすべてのために持つことはできませんし、ソートされたデータセットも持っています。 –

+0

'TreeMap'の問題は何ですか? –

答えて

2

nのアイテムをソートすると(ほぼすべての場合)、O(n log n)の時間がかかります。これは証明可能な事実です。並べ替えアルゴリズムの境界に関する多くの情報については、Wikipedia on Sortingを参照してください。

関連する問題