File tree Expand file tree Collapse file tree 1 file changed +19
-2
lines changed
docs/02algorithms/05order Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -123,7 +123,7 @@ flowchart
123
123
H --> O["fib(n-5)"]
124
124
```
125
125
126
- 数学的に、求めてみます 。
126
+ 一応、数学的にも、計算しておきます 。
127
127
128
128
計算量を $T(n)$ とします。
129
129
142
142
143
143
:::info
144
144
145
+ ちなみに、次のようにすると計算量が $\left(\sqrt{ 2 } \right)^n$ よりも大きいことが証明できます。
146
+
147
+ $$
148
+ \begin{align*}
149
+ T(n) &= T(n-1) + T(n-2) \\
150
+ &>2T(n-2) \quad (\because T(n-1)>T(n-2)) \\
151
+ &>2^2T(n-4) \\
152
+ &>\cdots \\
153
+ &>2^{\frac{n}{2}}T(0) \\
154
+ &=2^{\frac{n}{2}} = \left(\sqrt{2}\right)^n \\
155
+ \end{align*}
156
+ $$
157
+
158
+ :::
159
+
160
+ :::info
161
+
145
162
計算量は $O(2^n)$ よりも小さくなると言いましたが、実際に厳密に計算すると $O\left(\left(\frac{ 1 + \sqrt {5 }}{ 2 } \right)^n\right)$ になります。($\frac{ 1 + \sqrt {5 }}{ 2 } \simeq 1.618$)
146
163
147
164
ランダウの記号は、$n$ が十分大きい時、ある関数以下に抑えられるという意味なので、$O(2^n)$ と言っても間違いではないとは思います。
148
165
149
- これは、漸化式を解けば求まります。
166
+ これは、漸化式を解けば求まります。この漸化式は、フィボナッチ数列と同じです。
150
167
151
168
$$
152
169
\begin{align*}
You can’t perform that action at this time.
0 commit comments