目次:
定義-時間の複雑性とはどういう意味ですか?
時間の複雑さは、入力量の関数として処理または実行するコードまたはアルゴリズムのセットにかかる時間の定量化を扱うコンピューターサイエンスの概念です。
言い換えれば、時間の複雑さは本質的に効率、またはプログラム機能が特定の入力を処理するのに要する時間です。
Techopediaは時間の複雑さを説明します
時間の複雑さは、単純に関数または式がタスクを完了するのにかかる時間の尺度であり、その時間を測定するプロセスの名前でもあります。 ほぼすべてのアルゴリズムまたは関数に適用できますが、再帰的な関数にはより便利です。 比較のためにデータベースからユーザー名とパスワードを取得したり、20ミリ秒または5ミリ秒のデータを単純に保存するなど、アプリケーションの時間の複雑さを測定する意味はほとんどありません。 それはアクセス時間のラインでより多くなります。 実行時間を気にすることとは関係ありませんが、違いは無視できるほどです。 ただし、複数回呼び出される可能性のある再帰関数がある場合、その時間の複雑さの原因を特定して理解することで、全体の処理時間をたとえば600ミリ秒から100ミリ秒に短縮できます。
時間の複雑さは通常、「ビッグO表記」で表されますが、他の表記もあります。 これは、アルゴリズムのスケーリング係数の上限の数学的表現であり、O(Nn)と記述されます。「N」は入力の数、「n」はループ式の数です。 たとえば、次のアルゴリズムがあります。
numbers = {5, 6, 10, 11, 2}; foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2) {
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
「numbers」配列には5つの入力があり、「foreach」ループは2回繰り返されます。 したがって、入力の数とループの数が増えると、処理時間が指数関数的に増加します。
