web-dev-qa-db-ja.com

アルゴリズムの下限と上限

アルゴリズムの分析について学んでいます。

アルゴリズムの「最悪の場合」の実行時間で「上限」と「下限」という用語に出くわしました。

それらは「最悪のケース」のみに適用可能ですか、それとも他のケースでも使用できますか(「平均的なケース」と「ベストケース」)?

3
user3902660

それらはすべてのケースに当てはまりますが、「最悪のケース」はほとんどのプログラマーが通っているものです(アルゴリズムを設計するときに)常に最悪のケースを想定する方が良いためです。

0
Lawrence Aiello

一般に、下限が最良のケース(実行される作業の量が最も少ない)であり、上限が最悪のケース(アルゴリズムが実行する必要があるほとんどの作業)です。平均ケースは、上限と下限の間の確率論的計算です(結果が必ずしも中間にあるとは限りません。下限が潜在的にまれであったり、確率を確立するのが簡単ではない場合があるためです)。

これらの境界は、「この特定のアルゴリズムのパフォーマンスをこの境界よりも高くしたり、このアルゴリズムよりも低くしたりすることはできません」という考察を絞り込むため、一般的に役立ちます。だから、はい、それらはあなたの将来のアルゴリズムを理解するための努力の中で繰り返されるテーマになるでしょう。

多くのプログラムが最悪の場合の考慮事項で完全に停止することを指摘しておきます。それは、さまざまな分野のすべての人々が検討しているという意味ではありません-それは議論するのが面倒なほとんどすべての低レベルの教育クラス/本だけです。

5
BrianH