Skip to content

Commit

Permalink
Chapter 8 の 計算量とオーダー における 幾つかの記号の修正 (#22)
Browse files Browse the repository at this point in the history
* fix some math expression

* ド・モルガンの法則の記述を修正
  • Loading branch information
Kaki256 authored May 2, 2024
1 parent 5287978 commit d2721bf
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
2 changes: 1 addition & 1 deletion docs/text/chapter-3/practice/de-morgans-laws.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

$\lnot(P \land Q) \Leftrightarrow \lnot P \lor \lnot Q,$

$\lnot(P \lor Q) \Leftrightarrow \lnot P \lor \lnot Q$
$\lnot(P \lor Q) \Leftrightarrow \lnot P \land \lnot Q$

:::

Expand Down
12 changes: 6 additions & 6 deletions docs/text/chapter-8/complexity.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@

[実行時間](../chapter-8/exec-time.md)では再帰関数の実行速度を大まかに見積もったが、ランダウの記号という考え方を使うことでより良く概算することができる。ランダウの記号は以下のように定義される。

$\exists C \forall, n \in \mathbb{N}_{+}, \frac{f(n)}{g(n)} \leq C$
$\exists C \in \mathbb{R}, \exists n_0 \in \mathbb{Z}_{+}, \forall n > n_0, \dfrac{f(n)}{g(n)} \leq C$

であるとき、$f(x) = O(g(x))$と書き、「f(x)はg(x)のオーダーである」という。
であるとき、$f(x) = O(g(x))$と書き、「$f(x)$ は $g(x)$ のオーダーである」という。

例えば、$n^2+2n$のオーダーは$O(n^2)となる。
例えば、$n^2+2n$ のオーダーは $O(n^2)$ となる。

::: tip
ランダウの記号は$O(g(x))$以外にもあるので、興味があるなら調べてみよう。
ランダウの記号は $O(g(x))$ 以外にもあるので、興味があるなら調べてみよう。
:::

## 2. 計算量

問題の大きさ$n$に対して、それを解くために必要なリソースの量を関数として得ることができ、これをランダウの記号で表すと何かと都合が良い。ここでは特に実行時間について着目する。
問題の大きさ $n$ に対して、それを解くために必要なリソースの量を関数として得ることができ、これをランダウの記号で表すと何かと都合が良い。ここでは特に実行時間について着目する。

例えば、`std::vector<int>`の最大の要素を得る関数のオーダーは、要素の数$n$に対して$O(n)$となる。
例えば、`std::vector<int>`の最大の要素を得る関数のオーダーは、要素の数 $n$ に対して $O(n)$ となる。

::: spoiler 実装例

Expand Down

0 comments on commit d2721bf

Please sign in to comment.