Java-PriorityQueueよりも高速なものを探しています

BigG:

大量のデータでJavaを使用しています。

[できるだけ問題を単純化しようとする]

実際、私はint KEYと2つのWEIGHT(getter&settersを含む)を含む小さなクラス(要素)を持っています。

これらのオブジェクトの多くをファイルから読み取り、最高の(最も重みのある)Mオブジェクトを取得する必要があります。

実際には、2つの要素を比較するために記述されたコンパレーターでPriorityQueueを使用していますが、動作しますが、遅すぎます。

あなたはそれを行うためのより速い方法を知っていますか?

ありがとうございました

エリクソン:

ヒープベースの優先度キューは、この問題に適したデータ構造です。健全性チェックと同様に、キューを正しく使用していることを確認します。

最も重いアイテムが必要な場合は、min -queueを使用します。ヒープの一番上が最小のアイテムです。すべてのアイテムを最大キューに追加し、M完了時に上位のアイテムを調べることは効率的ではありません。

各アイテムについてM、キュー内のアイテムが少ない場合は、現在のアイテムを追加します。それ以外の場合は、ヒープの上部をのぞきます。現在のアイテムより小さい場合は、それを破棄し、代わりに現在のアイテムを追加します。それ以外の場合は、現在のアイテムを破棄します。すべてのアイテムが処理されると、キューにはM最も重いアイテムが含まれます。

一部のヒープには、ヒープのトップを置き換えるためのショートカットAPIがありますが、JavaにQueueはありません。それでも、big-Oの複雑さは同じです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHP:Java StreamAPIのようなものを探しています

分類Dev

Java用のまともなGitライブラリを探しています

分類Dev

java:通常の1よりもfinal static int = 1を使用していますか?

分類Dev

java.util.Propertiesより少し高度なものを提案できますか?

分類Dev

Apache Commons よりも高速な Java 用の統計分布ライブラリはありますか?

分類Dev

JAVA_HOMEは、JDKを指していてもJDKないJREを指している必要があります

分類Dev

Java:手動で展開されたループは、元のループよりも高速です。どうして?

分類Dev

Java:一般的なArrayListsはLinkedListsよりも高速ですか?

分類Dev

Javaでinputboxのようなメソッドを含むQTPを探しています

分類Dev

より良いJavaコードと見なされるものは何ですか?クラス変数を作成してすべての関数で再利用しますか、それとも同じタイプの新しい変数をすべての関数で作成しますか?

分類Dev

JavaのHashMapのは:X値よりもすべてのキーが大きい取得します

分類Dev

Java JUnit:「assertNothing」を探しています

分類Dev

StringBuilder#append(int)がJava 8よりもJava 7の方が高速なのはなぜですか?

分類Dev

「top」は、Javaプロファイラーが示すよりも多くのメモリを使用するJavaプログラムを示しています

分類Dev

Javaを使用して2Dマトリックスの最初の最大要素を見つける必要がありますが、コードが思ったように機能しないようです。誰か助けてもらえますか?

分類Dev

Rの組み合わせ、基本的なRよりも高速で効率的な方法(パッケージ、コード、並列CPU)を探しています

分類Dev

RubyのJava Quartzのようなものはありますか?

分類Dev

Javaのmalloc / freeのようなものはありますか?

分類Dev

getOrDefaultようなものjava8マップに値を入れてありますか?

分類Dev

jsvcとして実行されているJavaアプリケーションは、Heap + PermGenよりも多くのメモリを使用します

分類Dev

Java文字列内の特定の文字を探しています

分類Dev

javaの - なぜ、この再帰的な方法は、私が期待したものを超えています

分類Dev

VirtualEnv for Javaのようなものはありますか?

分類Dev

LINQ for Javaのようなものはありますか?

分類Dev

ZenTest / Autotest for Java and JUnitのようなものはありますか

分類Dev

Java / JNAにMAKELPARAMのようなものはありますか?

分類Dev

Javaを使用してmongodbのある値よりも小さいまたは大きいドキュメントを取得する方法

分類Dev

ErlangがシングルスレッドJavaよりも高速になるまでに必要なCPUの数

分類Dev

Javaコード美化機能(または美化しない可能性がありますが、コードをよりエレガントにするための何か)を探しています

Related 関連記事

  1. 1

    PHP:Java StreamAPIのようなものを探しています

  2. 2

    Java用のまともなGitライブラリを探しています

  3. 3

    java:通常の1よりもfinal static int = 1を使用していますか?

  4. 4

    java.util.Propertiesより少し高度なものを提案できますか?

  5. 5

    Apache Commons よりも高速な Java 用の統計分布ライブラリはありますか?

  6. 6

    JAVA_HOMEは、JDKを指していてもJDKないJREを指している必要があります

  7. 7

    Java:手動で展開されたループは、元のループよりも高速です。どうして?

  8. 8

    Java:一般的なArrayListsはLinkedListsよりも高速ですか?

  9. 9

    Javaでinputboxのようなメソッドを含むQTPを探しています

  10. 10

    より良いJavaコードと見なされるものは何ですか?クラス変数を作成してすべての関数で再利用しますか、それとも同じタイプの新しい変数をすべての関数で作成しますか?

  11. 11

    JavaのHashMapのは:X値よりもすべてのキーが大きい取得します

  12. 12

    Java JUnit:「assertNothing」を探しています

  13. 13

    StringBuilder#append(int)がJava 8よりもJava 7の方が高速なのはなぜですか?

  14. 14

    「top」は、Javaプロファイラーが示すよりも多くのメモリを使用するJavaプログラムを示しています

  15. 15

    Javaを使用して2Dマトリックスの最初の最大要素を見つける必要がありますが、コードが思ったように機能しないようです。誰か助けてもらえますか?

  16. 16

    Rの組み合わせ、基本的なRよりも高速で効率的な方法(パッケージ、コード、並列CPU)を探しています

  17. 17

    RubyのJava Quartzのようなものはありますか?

  18. 18

    Javaのmalloc / freeのようなものはありますか?

  19. 19

    getOrDefaultようなものjava8マップに値を入れてありますか?

  20. 20

    jsvcとして実行されているJavaアプリケーションは、Heap + PermGenよりも多くのメモリを使用します

  21. 21

    Java文字列内の特定の文字を探しています

  22. 22

    javaの - なぜ、この再帰的な方法は、私が期待したものを超えています

  23. 23

    VirtualEnv for Javaのようなものはありますか?

  24. 24

    LINQ for Javaのようなものはありますか?

  25. 25

    ZenTest / Autotest for Java and JUnitのようなものはありますか

  26. 26

    Java / JNAにMAKELPARAMのようなものはありますか?

  27. 27

    Javaを使用してmongodbのある値よりも小さいまたは大きいドキュメントを取得する方法

  28. 28

    ErlangがシングルスレッドJavaよりも高速になるまでに必要なCPUの数

  29. 29

    Javaコード美化機能(または美化しない可能性がありますが、コードをよりエレガントにするための何か)を探しています

ホットタグ

アーカイブ