申し訳ありませんが、ここで長い文脈上の話を書く時間はありません。これは私が現在行っている模擬試験の問題であり、私の大学のすべてのリソースはオフラインです (素晴らしい大学、私は知っています)。これを開始する方法についても完全に困惑しています。誰かが私にそれを説明してもらえますか?私は数学が得意ではありません。
次の再帰的な方法を検討してください。
public static int triple(int x) {
if (x == 0) return 0;
else return add(3, triple(decrement(x)));
}
デクリメント メソッドの最悪の場合の時間パフォーマンスが一定であり、add メソッドがその 2 番目のパラメーターで線形であると仮定すると (つまり、add(x,y) の時間は、by+a
いくつかの定数b
およびとして表すことができます)、その最小値をa
導き出します。big O
は、x に関するトリプル メソッドの最悪の場合の時間パフォーマンスを表します。このメソッドの複雑さを導き出すには、最初のいくつかのメソッド インスタンス (問題サイズ) の再帰関係を決定して展開し、式を一般化して の閉じた形式の方程式を形成しますnth case
。あなたの働きを見せてください。