タグ付けされた質問 「big-theta」

2
Big Thetaの代わりにBig Oが教えられるのはなぜですか?
Big O表記は関数の上限を提供しますが、Big Thetaは厳密な制限を提供します。しかし、Big O表記法は、通常、Big Thetaを本当に意味する場合に、一般的に(そして非公式に)教えられ、使用されることがわかります。 たとえば、「Quicksort is O(N ^ 2)」は、「Quicksort isΘ(N ^ 2)」という非常に強力なステートメントに変換できます。 Big Oの使用は技術的には正しいですが、Big Thetaのより一般的な使用はより表現力があり、混乱が少なくなりませんか?このBig Oがより一般的に使用される歴史的な理由はありますか? ウィキペディアのメモ: 非公式に、特にコンピュータサイエンスでは、Big O表記法は、Big ThetaΘ表記法を使用することが特定のコンテキストでより実際に適切である場合に、漸近的タイトバインドを記述するためにしばしば乱用されることがあります。

3
関数an + bがO(n ^ 2)およびΘ(n)に属するというステートメントを説明してください。
私は線形関数を持っているとしましょうf(n)= an+b、この関数がO(n 2)に属していることを証明する最良の方法は何Θ(n)ですか? ここでは数学的な厳密さは必要ありません。プログラマーの回答が必要です。説明の論理的な方法。 これがまさに数学のQ&AではなくプログラマーのQ&Aに質問を投稿しなかった理由です。

5
アルゴリズムのランダウ表記(Big OまたはTheta表記)をプログラムで見つけるには?
私は、アルゴリズムを可能な限り最適化するために、手作業でアルゴリズムのLandau(Big O、Theta ...)表記を検索するのに慣れていますが、関数が本当に大きく複雑になっているとき、それはうまくいきません手でやるには時間がかかりすぎます。また、ヒューマンエラーが発生しやすくなります。 私はCodi​​lity(コーディング/アルゴリズム演習)に時間を費やし、提出されたソリューションのLandau表記(TimeとMemoryの両方の使用量)が表示されることに気付きました。 私は彼らがそれをどのように行うのだろうと思っていました...どのようにあなたはそれをしますか? 字句解析またはコードの解析以外の方法はありますか? この質問は主にPHPやJavaScriptに関係していますが、私はどんな言語や理論にも心を開いています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.