0

私はプログラムを書いていますが、実行にかかる時間と必要なスペースが気になります。

プログラムでは、変数を使用して配列の長さを格納しました。

int len=newarray3.length;

ここで、len 変数を使用せずに必要に応じて を呼び出すことで、スペースの複雑さを軽減できるかどうかを知りたいと思いましたnewarray3.length;

注: 長さを使用する必要があるのは 2 回だけです。

4

3 に答える 3

8

「私たちは小さな効率を忘れるべきです。たとえば、約 97% の確率で: 時期尚早の最適化はすべての悪の根源です」 - Donald Knuth

まず、1 つのint変数が使用するスペースはごくわずかです。より一般的には、これらの小さなパフォーマンス (「時間と空間」) の問題について心配する必要はありません。明確で読みやすいプログラムと効率的なアルゴリズムを書くことに集中してください。将来的にパフォーマンスが問題になる場合は、一般的なアーキテクチャがしっかりしている限り、最適化できます。したがって、そのアーキテクチャに注目してください。

于 2013-04-07T21:21:33.537 に答える
0

これがあなたのパフォーマンスを向上させるものであるとは本当に思えません。とにかく、 newarray3.length を使用します(メモリを使用して別の操作を追加する新しい変数に割り当てる代わりに)。とにかく、これはフィールドです (メソッド呼び出しでさえありません)。それを読み取ることは、コピーした int 値を読み取ることと同じですが、コピーと int が消費する 4 バイトのメモリを節約します。

于 2013-04-07T21:21:59.687 に答える