bugfix> arrays > 投稿

たとえば、一連の数値があり、1d配列のコピーと2d配列のコピーを作成した場合。したがって、本質的に私は持っており、各配列には常に同量の要素があります。この場合、要素の数は常に同等になることを念頭に置いて、実際に時間の複雑さが異なりますか?

回答 1 件
  • いいえ、両方のタイプの入力で動作する同じアルゴリズムの時間の複雑さは同じになります。直感的には、入力データが異なる方法で配置されているからといって、アルゴリズムの時間の複雑さは変わりません。

    そうは言っても、明らかに入力サイズ コンテキストに少し依存しますが、これは不可解な場合があります。議論するとき仕分け アルゴリズム、入力は n で構成されます  要素。これは、たとえば、 O(n)  (ただし、比較ベースの並べ替えには不可能です)と呼ばれます線形。対照的に、以下のアルゴリズムを議論するとき行列乗算、通常、入力は n*n として想定されます  マトリックス- n がありません 、しかし n^2  要素。この場合、 O(n*n) の複雑さのアルゴリズム  (ただし、これは再び発生する可能性は低い)再び呼ばれる線形、それを記述する表現は実際には二乗項です。

    一言で言えば、時間の複雑さは実際の入力サイズ、それとは異なる可能性のある技術的なパラメーターではありません。

あなたの答え