メインJavaデータ構造の要約と時間的な複雑さ(add、find、removeなどの特定の操作の場合)を含むWebサイトの参照を誰にでも教えてもらえますか? Hashtable
は、O(1)であり、LinkedList
はO(n)である。メモリ使用量のようないくつかの詳細も良いでしょう。Javaデータ構造リファレンス
これは、アルゴリズムのためのデータ構造を考えるのに本当に役立ちます。
メインJavaデータ構造の要約と時間的な複雑さ(add、find、removeなどの特定の操作の場合)を含むWebサイトの参照を誰にでも教えてもらえますか? Hashtable
は、O(1)であり、LinkedList
はO(n)である。メモリ使用量のようないくつかの詳細も良いでしょう。Javaデータ構造リファレンス
これは、アルゴリズムのためのデータ構造を考えるのに本当に役立ちます。
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)
私は、これについて概説している単一のウェブサイトがあるとは思わない(ただし、プロジェクトの良いアイデアのように思える)。問題の一部は、各アルゴリズムの実行方法を理解することが非常に重要だということです。大部分はBig-Oを理解しているように聞こえるので、私はそれをあなたの最高の推測として使用します。いくつかのベンチマーク/プロファイリングを行い、より速く/遅く実行されるものを確認してください。
そして、はい、Java docsは、この情報の多くをjava.util
に含める必要があります。
最も包括的なJavaのコレクションの概要は
+1 wikiversityページ –
私は非常に便利なThe Collections Frameworkページ、特にすべてのインターフェイス/クラスが簡単に説明されているOutline of the Collections Frameworkページを発見しました。残念ながらbig-O情報はありません。
この特定のリソースはここに記載されていませんでしたが、私はこれを過去に大いに活用しています。あなたの複雑さを知る!
Javadoc以外のものはありますか? –
ええ、java docsはそれらをすべて分離していますし、複雑さは本当に見つけにくいです。私はそれぞれの詳細をほしいとは思っていませんが、複雑な時間の要約だけを –