베오
DCode
베오
전체 방문자
오늘
어제
  • 분류 전체보기 (218)
    • 공지사항 (1)
    • 잡설 (1)
    • Programming (33)
      • [C] (1)
      • [Java] (4)
      • [Python] (2)
      • [Android] (2)
      • [Network] (0)
      • [Operation System] (2)
      • [Spring Boot] (22)
      • [Docker] (0)
    • Algorithm (31)
      • 자료구조 (2)
      • 알고리즘 (Java) (14)
      • 알고리즘 (기초) (15)
    • Coding Test (131)
      • BOJ (131)
      • Algospat (0)
    • 이론적인거 (14)
      • 보안 (5)
      • 오류 해결 (2)
      • 디자인 패턴 (5)
      • 네트워크 (1)
      • 기타 (1)
    • 최신기술 (4)
      • 블록체인 (1)
    • [Project] (1)

블로그 메뉴

  • 🐈‍⬛ GitHub
  • 📫 방명록
  • 🔖 태그

공지사항

인기 글

티스토리

hELLO · Designed By 정상우.
베오

DCode

Algorithm/알고리즘 (기초)

3.1 RANK THE FUNCTIONS

2021. 10. 4. 15:02

3.1 RANK THE FUNCTIONS

98 Consider the following eighteen functions:

$\sqrt{n}$ $n$ $2^n$
$n\log n$ $n-n^3+7n^5$ $n^2+\log n$
$n^2$ $n^3$ $\log n$
$n^{1/3}+\log n$ $(\log n)^2$ $n!$
$\ln n$ $n/\log n$ $\log \log n$
$(1/3)^n$ $(3/2)^n$ $6$

Group these functions so that f(n) and g(n) are in the same group if and only if f(n) = O(g(n)) and f(n) = O(f(n)), and list the groups in increasing order.

1. Θ관계 끼리 묶기

$\sqrt{n}$

$n$

$2^n$

$n\log n$

$n-n^3+7n^5$

${n^2 + \log n,,n^2}$

$n^3$

${\log n,,\ln n}$

$n^{1/3}+\log n$

$(\log n)^2$

$n!$

$n/\log n$

$\log \log n$

$(1/3)^n$

$(3/2)^n$

2. 그룹을 증가 순서대로 정렬

$$
\begin{aligned}
(1/3)^n
\\
\log \log n
\\
{\log n,,\ln n}
\\
(\log n)^2
\\
n^{1/3}+\log n
\\
\sqrt{n}
\\
n/\log n
\\
n
\\
n\log n
\\
{n^2 + \log n,,n^2}
\\
n^3
\\
n-n^3+7n^5
\\
(3/2)^n
\\
2^n
\\
n!
\end{aligned}
$$

틀릴 수도 있습니다..

99 Draw a line from each of the five functions in the center to the best big-Ω value on the left, and the best big-O value on the right

$\Omega(1/n)$ $O(1/n)$
$\Omega(1)$ $O(1)$
$\Omega(\log \log n)$ $O(\log \log n)$
$\Omega(\log n)$ $O(\log n)$
$\Omega(log^2 n)$ $O(log^2 n)$
$\Omega(\sqrt[3]{n})$ $O(\sqrt[3]{n})$
$\Omega(n/\log n)$ $1/(\log n)$ $O(n/\log n)$
$\Omega(n)$ $7n^5-3n+2$ $O(n)$
$\Omega(n^{1.00001})$ $(n^2+n)/(\log^2n+\log n)$ $O(n^{1.00001})$
$\Omega(n^{3/2})$ $2^{\log^2n}$ $O(n^{3/2})$
$\Omega(n^2/\log^2 n)$ $3^n$ $O(n^2/\log^2 n)$
$\Omega(n^2/\log n)$ $O(n^2/\log n)$
$\Omega(n^2)$ $O(n^2)$
$\Omega(2^n)$ $O(2^n)$
$\Omega(5^n)$ $O(5^n)$
$\Omega(n^n)$ $O(n^n)$
$\Omega(n^{n^2})$ $O(n^{n^2})$

99-1. $1/(\log n)$

분모 부분을 보면 $\log n$ 이다.

이는 n 보다 작고, 1보다 크다. -> 분모니까 반대로 처리

따라서 1/n 과 1 사이에 있다.

$$
\begin{aligned}
1/(\log n) &= \Omega (1/n)
\\
&=O(1)
\end{aligned}
$$

99-2. $7n^5 -3n +2$

최고차항만 보자 $7n^5$

여기서 계수만 지우자 $n^5$

비교를 시작하자

$n^2$ 보다 크고 $2^n$ 보다 작다.

$$
\begin{aligned}
7n^5 -3n +2 &= \Omega(n^2)
\\
&= O(2^n)
\end{aligned}
$$

99-3. $(n^2+n)/(\log^2n+\log n)$

분자 중 큰 영향을 미치는 $n^2$만 뽑아내자

분모 중 큰 영향을 미치는 $\log^2n$만 뽑아내자

$n^2/\log^2n$

이는 $(n^2/\log^2 n)$ 와 Θ 관계이다.

$$
\begin{aligned}
(n^2+n)/(\log^2n+\log n) &= \Omega(n^2/\log^2 n)
\\
&= O(n^2/\log^2 n)
\end{aligned}
$$

99-4. $2^{\log^2n}$

지수 부분만 봤을 때 $\log^2n$ 는 n 보다 작다.

로그의 성질을 이용하여 변형을 하면

$$
\begin{aligned}
2^{\log^2n} &= 2^{\log n \log n}
\\
&= (2^{\log n})^{\log n}
\\
&= (n^{\log 2})^{\log^n}
\\
&= n^{\log^n}
\end{aligned}
$$

이므로 $n^2$ 보다 크다.

$$
\begin{aligned}
2^{\log^2n} &= \Omega(n^2)
\\
&= O(2^n)
\end{aligned}
$$

99-5. $3^n$

$$
\begin{aligned}
3^n &= \Omega(2^n)
\\
&= O(5^n)
\end{aligned}
$$

For each of the following paris of functions f(n) and g(n), either f(n) = O(g(n)) or g(n) = O(f(n)), but not both. Determine which is the case.

100. $f(n) = (n^2-n)/2,, g(n) = 6n.$

$$
\begin{aligned}
g(n) = O(f(n))
\end{aligned}
$$

101. $f(n) = n+2\sqrt{n},,g(n) = n\sqrt{n}$

$$
\begin{aligned}
f(n) = O(g(n))
\end{aligned}
$$

102. $f(n) = n+\log n,, g(n) = n\sqrt{n}$

$$
\begin{aligned}
f(n) = O(g(n))
\end{aligned}
$$

103. $f(n) = n^2 + 3n + 4,,g(n) = n^3$

$$
\begin{aligned}
f(n) = O(g(n))
\end{aligned}
$$

104. $f(n) = n\log n,g(n) = n\sqrt{n}/2$

$$
\begin{aligned}
f(n) = O(g(n))
\end{aligned}
$$

105. $f(n) = n + \log n, g(n) = \sqrt{n}$

$$
\begin{aligned}
g(n) = O(f(n))
\end{aligned}
$$

106. $f(n) = 2(\log n)^2, g(n)=\log n +1$

$$
\begin{aligned}
g(n) = O(f(n))
\end{aligned}
$$

107. $f(n) = 4n\log n+n,,g(n) = (n^2 - n)/2$

$$
\begin{aligned}
f(n) = O(g(n))
\end{aligned}
$$

'Algorithm > 알고리즘 (기초)' 카테고리의 다른 글

동적 계획법  (0) 2023.01.19
3.4 MANIPULATING BIG-O  (0) 2021.10.04
2.7 FIBONACCI NUMBERS  (0) 2021.10.04
러시아 농부 곱셈법  (0) 2021.10.04
2.4 DIVISIBILITY  (0) 2021.10.01
    'Algorithm/알고리즘 (기초)' 카테고리의 다른 글
    • 동적 계획법
    • 3.4 MANIPULATING BIG-O
    • 2.7 FIBONACCI NUMBERS
    • 러시아 농부 곱셈법
    베오
    베오

    티스토리툴바