2011-11-24 7 views
5

私はpythonのソート(timsort)の実装がより良いパフォーマンスを得るためにC言語で実装されていることを知っています。それはまた、Javaの実装の場合、またはすべてのJavaアルゴリズムは、Javaで実装されていますか?JavaアルゴリズムはCまたはjavaで実装されていますか?

+0

ソースコードを見てください(JDKディレクトリのZIPファイルにあります)。 (または誰かが回答を投稿するのを待つ) –

答えて

6

標準ライブラリの大部分は、通常Javaで実装されています。つまり、多くのOSやプラットフォーム固有の機能を「ネイティブ」コードで実装する必要があるため、一般的にはCやC++で書かれています。もちろん、特定のJVM実装に少し依存しています。

Java以外の言語で実装される典型的な機能には、スレッド、ネットワークI/O、ファイルI/O、および低レベルのUI APIが含まれます。これらはすべてかなり低レベルの特定の機能ですが、より抽象的な/一般的なアルゴリズムはJavaでの実装に理想的です。

4

Javaライブラリのほとんどは、その答えは、それが実際のJVMの実装とアルゴリズムの種類によって異なり、あるsort algorithm

+0

しかし、OpenJDKは標準のJVM実装ではありません。 – Viruzzo

+4

@Viruzzoそれについては確かですか? :) – unbeli

+0

私は修正された、それは今(Java 7からです。)です。これは、Java 1.4.2でほとんどの時間使用する必要があるためです – Viruzzo

1

含め、Javaで実装されています。 public stadard APIのアルゴリズムのほとんどはjavaになっています。 1つの例外はスレッドのスケジューリングです。

1

私が知る限り、それらはJavaで実装されています。 Hereについての情報があります。

1

java.util.Arrays.sort()ソースを見ると、ソートアルゴリズムがJavaで実装されていることがわかります。しかし、これは必ずしも他のすべてのアルゴリズムも同様であることを暗示するものではありません。

関連する問題