2009-08-13 14 views
21

メインJavaデータ構造の要約と時間的な複雑さ(add、find、removeなどの特定の操作の場合)を含むWebサイトの参照を誰にでも教えてもらえますか? Hashtableは、O(1)であり、LinkedListはO(n)である。メモリ使用量のようないくつかの詳細も良いでしょう。Javaデータ構造リファレンス

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

+1

Javadoc以外のものはありますか? –

+1

ええ、java docsはそれらをすべて分離していますし、複雑さは本当に見つけにくいです。私はそれぞれの詳細をほしいとは思っていませんが、複雑な時間の要約だけを –

答えて

23

Javaの実装は、一般的な、言語に依存しない実装よりも(複雑さの点で)異なっていることを考える理由があるここですか?言い換えれば、なぜ単にさまざまなデータ構造の複雑さについての一般的なリファレンスを参照してくださいません:

NIST Dictionary of Algorithms and Data Structures

しかし、あなたはJava固有の主張場合:

Java standard data structures Big O notation

Java Collections cheatsheet V2(デッドリンクですが、this is the first version of the cheatsheet

+4

ありがとうhttp://simplenotions.wordpress.com/2009/05/13/java-standard-data-structures-big -o-notation/ –

+0

これらのリンクのうち2つが死んでいます。私はそれを編集するだろうが、私はあなたの投稿の意味を変更する必要があります。 – Daniel

+0

私は今すぐリンクを更新しました – bluish

0

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

そして、はい、Java docsは、この情報の多くをjava.utilに含める必要があります。

0

メインコレクションクラスの時間と空間の複雑さは、既知のデータ構造xity。 Java固有のものはないと思います。 (あなたが言うように)ハッシュ検索はO(1)でなければなりません。 hereまたはhereと表示されます。

2

この特定のリソースはここに記載されていませんでしたが、私はこれを過去に大いに活用しています。あなたの複雑さを知る!

http://bigocheatsheet.com/