26

Hashtable主な Java データ構造の概要と、それぞれの時間の複雑さ (追加、検索、削除などの特定の操作について)を含む Web サイトLinkedListの参照を誰か教えてもらえますか? O(n) です。メモリ使用量などの詳細もいいでしょう。

これは、アルゴリズムのデータ構造を考えるのに非常に役立ちます。

4

6 に答える 6

23

Java の実装が (複雑さの点で) 言語にとらわれない一般的な実装とは異なると考える理由はありますか? 言い換えれば、さまざまなデータ構造の複雑さに関する一般的なリファレンスを参照するだけではどうですか。

アルゴリズムとデータ構造の NIST ディクショナリ

ただし、Java 固有に固執する場合は、次のようになります。

Java 標準データ構造の Big O 表記

Java コレクションチートシート V2 (デッドリンクですが、これはチートシートの最初のバージョンです)

于 2009-08-13T21:43:35.767 に答える
11

最も包括的な Java コレクションの概要はこちら

http://en.wikiversity.org/wiki/Java_Collections_Overview

于 2009-08-13T21:43:28.153 に答える
2

ここで言及されているこの特定のリソースを見ることができませんでしたが、過去に非常に役立つことがわかりました。あなたの複雑さを知ってください!

http://bigocheatsheet.com/

于 2016-01-05T15:06:32.203 に答える
2

The Collections Frameworkページ、特にOutline of the Collections Frameworkが非常に役立つことがわかりました。ここでは、すべてのインターフェイス/クラスが簡単に説明されています。残念ながらビッグオーの情報はありません。

于 2013-06-12T13:35:50.990 に答える
0

これについて概説している Web サイトが 1 つもないと思います (ただし、プロジェクトとしては良いアイデアのように思えます)。問題の一部は、各アルゴリズムがどのように実行されるかを理解することが非常に重要であることにあると思います。ほとんどの場合、あなたは Big-O を理解しているように聞こえるので、それを最良の推測として使用します。ベンチマーク/プロファイリングでフォローアップして、実行速度が速い/遅いものを確認してください。

そして、はい、Java ドキュメントには、この情報の多くが .xml に含まれているはずjava.utilです。

于 2009-08-13T21:38:48.603 に答える
0

メイン コレクション クラスの時間と空間の複雑さは、データ構造の既知の時間の複雑さに対応する必要があります。それについてJava固有のものはないと思います。たとえば、(あなたが言うように)ハッシュルックアップはO(1)でなければなりません。ここまたはここを見ることができます。

于 2009-08-13T21:44:03.050 に答える