Skip to content

Commit a8e7df7

Browse files
authored
Merge pull request #195 from chvmvd/update-order-article
2 parents 1bc51cd + 650287c commit a8e7df7

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

docs/02algorithms/05order/index.mdx

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ flowchart
123123
H --> O["fib(n-5)"]
124124
```
125125

126-
数学的に、求めてみます
126+
一応、数学的にも、計算しておきます
127127

128128
計算量を $T(n)$ とします。
129129

@@ -142,11 +142,28 @@ $$
142142

143143
:::info
144144

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+
145162
計算量は $O(2^n)$ よりも小さくなると言いましたが、実際に厳密に計算すると $O\left(\left(\frac{1+\sqrt{5}}{2}\right)^n\right)$ になります。($\frac{1+\sqrt{5}}{2}\simeq 1.618$)
146163

147164
ランダウの記号は、$n$ が十分大きい時、ある関数以下に抑えられるという意味なので、$O(2^n)$ と言っても間違いではないとは思います。
148165

149-
これは、漸化式を解けば求まります。
166+
これは、漸化式を解けば求まります。この漸化式は、フィボナッチ数列と同じです。
150167

151168
$$
152169
\begin{align*}

0 commit comments

Comments
 (0)