diff --git a/C03-Growth-of-Functions/problem.md b/C03-Growth-of-Functions/problem.md index 51fac4c1..387ac816 100644 --- a/C03-Growth-of-Functions/problem.md +++ b/C03-Growth-of-Functions/problem.md @@ -18,7 +18,7 @@ A | B | O | o | Ω | ω | Θ ![](http://latex.codecogs.com/gif.latex?\\n^k) | ![](http://latex.codecogs.com/gif.latex?c^n) | yes | yes | no | no | no ![](http://latex.codecogs.com/gif.latex?\\sqrt{n}) | ![](http://latex.codecogs.com/gif.latex?n^\\sin{n}) | no | no | no | no | no ![](http://latex.codecogs.com/gif.latex?\\2^n) | ![](http://latex.codecogs.com/gif.latex?2^{n/2}) | no | no | yes | yes | no -![](http://latex.codecogs.com/gif.latex?n^\\lg{c}) | ![](http://latex.codecogs.com/gif.latex?c^\\lg{n}) | yes | no | yes | no | yes +![](http://latex.codecogs.com/gif.latex?\\n^{lg{c}}) | ![](http://latex.codecogs.com/gif.latex?\\c^{lg{n}}) | yes | no | yes | no | yes ![](http://latex.codecogs.com/gif.latex?\\lg{\(n!\)}) | ![](http://latex.codecogs.com/gif.latex?\\lg{\(n^n\)}) | yes | no | yes | no | yes For this problem, some people point out that @@ -36,25 +36,34 @@ YES YES YES YES YES [issue 103](https://github.com/gzc/CLRS/issues/103) - + ### Problems 3 : Ordering by asymptotic growth rates -*** -a. -Rank the following functions by order of growth; that is, find an arrangement ![](https://latex.codecogs.com/gif.latex?g_1,&space;g_2,...,g_{30}) of the functions satisfying ![](https://latex.codecogs.com/png.latex?g_1=\Omega\(g_2\),g_2=\Omega\(g_3\),...,g_{29}=\Omega\(g_{30}\)). Partition your list into equivalence classes such that functions ![](https://latex.codecogs.com/png.latex?f\(n\)) and ![](https://latex.codecogs.com/png.latex?g_i\(n\)) are in the same class if and only if ![](https://latex.codecogs.com/png.latex?f\(n\)=\Theta\(g\(n\)\)). -![](https://latex.codecogs.com/png.latex?lg\(lg^*n\)\quad&space;2^{lg^*n}\quad&space;\(\sqrt{2}\)^{lgn}\quad&space;n^2&space;\quad&space;n!\quad&space;\(lgn\)!\newline&space;\(\frac{2}{3}\)^n\quad&space;n^3\quad&space;lg^2n\quad&space;lg\(n!\)\quad&space;2^2^n\quad&space;n^{1/lgn}\newline&space;ln&space;lnn\quad&space;lg^*n\quad&space;n\cdot&space;2^n\quad&space;n^{lg&space;lgn}\quad&space;lnn\quad&space;1\newline&space;2^{lgn}\quad&space;{\(lgn\)}^{lgn}\quad&space;e^n\quad&space;4^{lgn}\quad&space;\(n+1\)!\quad&space;\sqrt{lgn}\newline&space;lg^*\(lgn\)\quad&space;2^{\sqrt{2lgn}}\quad&space;n\quad&space;2^n\quad&space;nlgn\quad&space;2^{2^{n+1}}) - -b. +*** +a. +Rank the following functions by order of growth; that is, find an arrangement ![](https://latex.codecogs.com/gif.latex?g_1,&space;g_2,...,g_{30}) of the functions satisfying ![](https://latex.codecogs.com/png.latex?g_1=\Omega\(g_2\),g_2=\Omega\(g_3\),...,g_{29}=\Omega\(g_{30}\)). Partition your list into equivalence classes such that functions ![](https://latex.codecogs.com/png.latex?f\(n\)) and ![](https://latex.codecogs.com/png.latex?g_i\(n\)) are in the same class if and only if ![](https://latex.codecogs.com/png.latex?f\(n\)=\Theta\(g\(n\)\)). +![](https://latex.codecogs.com/png.latex?lg\(lg^*n\)\quad&space;2^{lg^*n}\quad&space;\(\sqrt{2}\)^{lgn}\quad&space;n^2&space;\quad&space;n!\quad&space;\(lgn\)!\newline&space;\(\frac{2}{3}\)^n\quad&space;n^3\quad&space;lg^2n\quad&space;lg\(n!\)\quad&space;2^2^n\quad&space;n^{1/lgn}\newline&space;ln&space;lnn\quad&space;lg^*n\quad&space;n\cdot&space;2^n\quad&space;n^{lg&space;lgn}\quad&space;lnn\quad&space;1\newline&space;2^{lgn}\quad&space;{\(lgn\)}^{lgn}\quad&space;e^n\quad&space;4^{lgn}\quad&space;\(n+1\)!\quad&space;\sqrt{lgn}\newline&space;lg^*\(lgn\)\quad&space;2^{\sqrt{2lgn}}\quad&space;n\quad&space;2^n\quad&space;nlgn\quad&space;2^{2^{n+1}}) + +b. Give an example of a single nonnegative function ![](https://latex.codecogs.com/png.latex?f\(n\)) such that for all functions ![](https://latex.codecogs.com/png.latex?g_i\(n\)) in part (a), ![](https://latex.codecogs.com/png.latex?f\(n\)) is neither ![](https://latex.codecogs.com/gif.latex?\O\(g_i\(n\)\)) nor ![](https://latex.codecogs.com/gif.latex?\Omega\(g_i\(n\)\)). ### `Answer` -a. -![](https://latex.codecogs.com/gif.latex?2^{2^{n+1}}\quad&space;2^{2^{n}}\newline&space;\(n+1\)!\quad&space;n!\newline&space;e^n\quad&space;n\cdot&space;2^n\quad&space;2^n\quad&space;\(\frac{3}{2}\)^n\newline&space;\(lgn\)^{lgn}=n^{lglgn}\quad&space;\(lgn\)!\newline&space;n^3\quad&space;n^2=4^{lgn}\quad&space;nlgn=lg\(n!\)\quad&space;2^{lgn}=n\quad&space;\(\sqrt{2}\)^{lgn}=\sqrt{n}\quad&space;2^{\sqrt{2\cdot&space;lgn}}\newline&space;lg^{2}n\quad&space;lnn\quad&space;\sqrt{lgn}\newline&space;lnlnn\quad&space;2^{lg^{*}n}\newline&space;lg^{*}n\quad&space;lg^{*}\(lgn\)\quad&space;lg\(lg^{*}\)n\newline&space;n^{\frac{1}{lgn}}=2\quad&space;1) -![](https://latex.codecogs.com/gif.latex?\(lgn\)^{lgn}=n^{lglgn}\quad&space;because&space;of\quad&space;a^{log_bc}=c^{log_ba}\newline&space;n^{\frac{1}{lgn}}=2\quad&space;because\quad&space;n^{\frac{1}{lgn}}=2^{lgn\cdot&space;\frac{1}{lgn}}=2) - -b. -![](https://latex.codecogs.com/png.latex?2^{2^\sin{n}}) - - +a. +![](https://latex.codecogs.com/gif.latex?2^{2^{n+1}}\quad&space;2^{2^{n}}\newline&space;\(n+1\)!\quad&space;n!\newline&space;e^n\quad&space;n\cdot&space;2^n\quad&space;2^n\quad&space;\(\frac{3}{2}\)^n\newline&space;\(lgn\)^{lgn}=n^{lglgn}\quad&space;\(lgn\)!\newline&space;n^3\quad&space;n^2=4^{lgn}\quad&space;nlgn=lg\(n!\)\quad&space;2^{lgn}=n\quad&space;\(\sqrt{2}\)^{lgn}=\sqrt{n}\quad&space;2^{\sqrt{2\cdot&space;lgn}}\newline&space;lg^{2}n\quad&space;lnn\quad&space;\sqrt{lgn}\newline&space;lnlnn\quad&space;2^{lg^{*}n}\newline&space;lg^{*}n\quad&space;lg^{*}\(lgn\)\quad&space;lg\(lg^{*}\)n\newline&space;n^{\frac{1}{lgn}}=2\quad&space;1) +![](https://latex.codecogs.com/gif.latex?\(lgn\)^{lgn}=n^{lglgn}\quad&space;because&space;of\quad&space;a^{log_bc}=c^{log_ba}\newline&space;n^{\frac{1}{lgn}}=2\quad&space;because\quad&space;n^{\frac{1}{lgn}}=2^{lgn\cdot&space;\frac{1}{lgn}}=2) + +b. +![](https://latex.codecogs.com/png.latex?2^{2^\sin{n}}) + +### Problems 6 : Iterated functions +f(n) | c | fc*(n) +:----:|:----:|:----:| +n-1 | 0| \|n\|| +log n| 1| log* n +n/2|1| ![](https://latex.codecogs.com/gif.latex?\\left&space;\lceil&space;log&space;n&space;\right&space;\rceil) +n/2 |2|![](https://latex.codecogs.com/gif.latex?\left&space;\lceil&space;log&space;n&space;\right&space;\rceil&space;-1) +![](https://latex.codecogs.com/gif.latex?\sqrt{n}) | 2 | loglog n +![](https://latex.codecogs.com/gif.latex?\sqrt{n}) | 1 | undefined +![](https://latex.codecogs.com/gif.latex?n^{\frac{1}{3}}) | 2 | ![](https://latex.codecogs.com/gif.latex?log{_3}log{_2}(n)) +n/log n | 2 | ![](https://latex.codecogs.com/gif.latex?\frac{log&space;n}{log(log&space;n)}) *** -Follow [@louis1992](https://github.com/gzc) on github to help finish this task. - +Follow [@louis1992](https://github.com/gzc) on github to help finish this task. \ No newline at end of file