(a) O-記法に関する穴埋め問題と、(b) 3つのアルゴリズム A, B, C の計算量 $f_A(n) = \sqrt{n} \log_2 n$, $f_B(n) = n \log_2 \sqrt{n}$, $f_C(n) = n \log_{10} n$ が与えられたとき、ある程度大きな $n$ に対して、最も効率が良いアルゴリズム、最も効率が悪いアルゴリズム、計算量のオーダーが等しいアルゴリズムをそれぞれ選択肢から選ぶ問題。

離散数学アルゴリズム計算量O-記法漸近的振る舞い
2025/8/3

1. 問題の内容

(a) O-記法に関する穴埋め問題と、(b) 3つのアルゴリズム A, B, C の計算量 fA(n)=nlog2nf_A(n) = \sqrt{n} \log_2 n, fB(n)=nlog2nf_B(n) = n \log_2 \sqrt{n}, fC(n)=nlog10nf_C(n) = n \log_{10} n が与えられたとき、ある程度大きな nn に対して、最も効率が良いアルゴリズム、最も効率が悪いアルゴリズム、計算量のオーダーが等しいアルゴリズムをそれぞれ選択肢から選ぶ問題。

2. 解き方の手順

(a)
* O-記法はアルゴリズムの計算量を表す記法であり、入力サイズ nn が十分に大きいときの漸近的な振る舞いを記述する。
* O-記法は、計算量の上界を表す。
(b)
* fA(n)=nlog2nf_A(n) = \sqrt{n} \log_2 n
* fB(n)=nlog2n=n12log2n=12nlog2nf_B(n) = n \log_2 \sqrt{n} = n \cdot \frac{1}{2} \log_2 n = \frac{1}{2} n \log_2 n
* fC(n)=nlog10n=nlog2nlog210=1log210nlog2nf_C(n) = n \log_{10} n = n \cdot \frac{\log_2 n}{\log_2 10} = \frac{1}{\log_2 10} n \log_2 n
ここで、nn が十分に大きいとき、n\sqrt{n}nn より小さいので、fA(n)f_A(n)fB(n)f_B(n)fC(n)f_C(n) より小さくなる。また、fB(n)f_B(n)fC(n)f_C(n)nlog2nn \log_2 n に定数をかけた形なので、オーダーは同じである。log2103.32\log_2 10 \approx 3.32 であるから12<1log210\frac{1}{2} < \frac{1}{\log_2 10}なので、fB(n)<fC(n)f_B(n) < f_C(n)
したがって、ある程度大きな nn に対して、
* 最も効率が良い(計算量が小さい)アルゴリズムは A。
* 最も効率が悪い(計算量が大きい)アルゴリズムは C。
* 計算量のオーダーが等しいアルゴリズムは B と C。

3. 最終的な答え

(1): (イ)
(2): (ア)
(3): (ア)
(4): (ウ)
(5): (ウ)

「離散数学」の関連問題

問題5:全体集合$U$の部分集合$A, B$があり、$n(U)=30, n(A)=18, n(B)=11, n(A \cap B)=5$である。 このとき、次の値を求める。 (1) $n(A \cup...

集合要素数和集合補集合ベン図
2025/8/3

与えられた木構造に対して、根から始めて行きがけ順、通りがけ順、帰りがけ順で節点をなぞった場合のラベルの出力結果をそれぞれ求める問題です。

木構造データ構造グラフ理論木探索行きがけ順通りがけ順帰りがけ順
2025/8/3

データ構造に関する穴埋め問題です。配列の要素参照、広義の完全二分木の節点数と高さに関する記述の空欄に、選択肢の中から最も適切なものを選びます。

データ構造配列二分木計算量O記法
2025/8/3

5人の人物V, W, X, Y, Zが、2日間にわたって開催されるイベントの受付を担当する。各日、3人が受付を担当する必要がある。5人のうち1人が2日間とも担当することにする。誰がどちらの日の担当にな...

組み合わせ場合の数二項係数数え上げ
2025/8/3

以下の関数の計算量のオーダーをそれぞれ示す問題です。 (a) $f(n) = \sqrt{n} + \log_2 2^n$ (b) $f(n) = 1000 \cdot 2^n + 0.01n^n$ ...

計算量オーダー記法漸近的振る舞いアルゴリズム
2025/8/3

与えられた集合のすべての部分集合を列挙する問題です。3つの集合に対して、それぞれ部分集合を求める必要があります。

集合論部分集合組み合わせ
2025/8/3

a, b, c, d, e, f の6人が円形に並ぶとき、aとbが隣り合うような並び方は全部で何通りあるかを求める問題です。

順列円順列組み合わせ
2025/8/3

大人4人と子ども3人が1列に並ぶとき、子ども3人が隣り合うような並び方は何通りあるか。

順列組み合わせ場合の数数え上げ
2025/8/3

全体集合 $U = \{1, 2, 3, 4, 5, 6, 7, 8, 9, 10\}$ の部分集合 $A = \{1, 3, 5, 7, 9\}$ と $B = \{4, 5, 6, 7\}$ が与...

集合集合演算補集合ベン図
2025/8/3

全体集合 $U = \{1, 2, 3, 4, 5, 6, 7, 8, 9, 10\}$ の部分集合 $A = \{1, 3, 5, 7, 9\}$ と $B = \{4, 5, 6, 7\}$ が与...

集合集合演算補集合共通部分
2025/8/3