コンピュータサイエンス基礎:直前対策パック

公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。

新しい問題科目に戻る

印刷ウィンドウで「PDF として保存」を選ぶと、コピーを端末に保存できます。

1公式と解法

記数法

位取り
2 進数 2k、8 進数 8k、16 進数 16k
10 進数へ
Σ dk·bk
10 進数から
基数で割り、余りを下から上へ読む
16 進数 ↔ 2 進数
16 進数 1 桁 = 4 ビット
2 の補数
ビットを反転して 1 を足す

命題論理と証明

真理値表の行
2ⁿ
含意
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
含意の否定
¬(p → q) ≡ p ∧ ¬q
同値(双条件)
p ↔ q ≡ (p → q) ∧ (q → p)
ド・モルガンの法則
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
分配法則
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
量化子の否定
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
肯定式(modus ponens)、否定式(modus tollens)
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

解き方

  1. 異なる変数の数を数えます:真理値表の行数は 2ⁿ で、最初の行はすべて 1 です。
  2. 部分式ごとに列を用意し、内側から順に列を埋めていきます。
  3. 各結合子の規則を適用します:→ が 0 になるのは 1 → 0 のときだけ、↔ は両辺が一致するとき 1 です。
  4. 同値の判定では最後の列を行ごとに比べます。論証の判定では、すべての前提が 1 である行だけを見ます。
  5. 量化された文を否定するには、¬ を内側へ移し、∀ と ∃ を入れ替え、内側の式を否定します。

デジタル論理:ゲート・カルノー図・フリップフロップ

基本ゲート
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
ブールの規則
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
ド・モルガンの法則
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
カルノー図の並び順
00, 01, 11, 10 (Gray code)
2ᵏ 個のセルのグループ
k 個の変数が消える
4 対 1 マルチプレクサ
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
フリップフロップ
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
カウンタ
n ビット:2ⁿ 状態; mod-N:2ⁿ ≥ N を満たす最小の n; fout = fclk/N
リップルカウンタ
fmax = 1/(n·tpd)
リングカウンタとジョンソンカウンタ
n 状態と 2n 状態

解き方

  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。

整数論と合同式

余りのある割り算
a = q·n + r, 0 ≤ r < n
ユークリッド
gcd(a, b) = gcd(b, a mod b)
最小公倍数
lcm(a, b) = a·b/gcd(a, b)
逆行列
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
一次合同式
a·x ≡ b → x ≡ a⁻¹·b (mod n)
オイラーのトーシェント関数
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
フェルマー
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

解き方

  1. まずすべての数を n で割った余りに直します。余りは 0 から n − 1 の間です。
  2. 最大公約数は、ユークリッドの互除法で割り算を繰り返して求めます。最後の 0 でない余りが最大公約数です。
  3. 逆元は拡張ユークリッドの互除法で求め、a の係数を取ります。負なら n を足します。
  4. a·x ≡ b は a⁻¹ を掛けて解きます。2 つの合同式は x = r₁ + m₁k とおいて組み合わせます。
  5. べき乗では、指数を 2 進数で書いて平方を繰り返します。RSA では d = e⁻¹ mod φ(n)、φ(n) = (p − 1)(q − 1) です。

グラフ理論

握手補題
Σ deg(v) = 2|E|
完全グラフ
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
正則グラフ
|E| = n·k/2
木と森
|E| = n − 1, |E| = n − c
木の葉
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
オイラー
閉路:すべての次数が偶数; 路:奇数次数がちょうど 2 つ
Kn のハミルトン閉路
(n − 1)!/2
ダイクストラ法の更新
d(v) = min(d(v), d(u) + w(u, v))
長さ L の歩道
(Mᴸ)ij

解き方

  1. 各頂点の次数を書き出します。次数の総和は辺の数の 2 倍になります。
  2. オイラーの問題では、グラフが連結であることを確かめ、奇数次数の頂点を数えます。
  3. 木では、辺が n − 1 本であることと握手補題を使います。
  4. ダイクストラ法では、暫定距離の表をつくり、毎回、未確定の頂点のうち最小のものを確定します。
  5. 最小全域木では、辺を重みの順に並べ、閉路をつくる辺を飛ばす方法(クラスカル法)か、始点から 1 本の木を成長させる方法(プリム法)を使います。

IPv4 サブネット化

サブネットあたりのホスト数
2(32 − prefix) − 2 (/31: 2, /32: 1)
ブロックサイズ
256 − (mask octet)
ネットワークアドレス
IP AND マスク
ブロードキャストアドレス
IP OR (NOT マスク):ホスト部のビットをすべて 1 にする
n ビット借りたときのサブネット数
2n

2演習問題

1.記数法ふつう
8 ビットの 2 の補数0−12806403201608040201

8 ビットの 2 の補数で −42 を格納するようにビットを設定します。符号なしの数として読むと、このパターンの値 U はいくつですか?

N = −428 bit
U =
2.記数法むずかしい
24 ビット、符号なし, N = ?????????????????????????

24 ビットに収まる最大の符号なし整数 N はいくつですか?

24 bit
N =
3.命題論理と証明ふつう
(p ∨ q) ∧ (p ∨ r)(p ∧ q) ∨ r(p ∧ q) ∨ (p ∧ r)p ∨ (q ∧ r)

p ∧ (q ∨ r) と論理的に同値な論理式はどれですか? クリックしてください。

p ∧ (q ∨ r)
  1. 1(p ∨ q) ∧ (p ∨ r)
  2. 2(p ∧ q) ∨ r
  3. 3(p ∧ q) ∨ (p ∧ r)
  4. 4p ∨ (q ∧ r)
4.命題論理と証明むずかしい
∀x (¬A(x) ∧ ¬B(x))∀x (¬A(x) ∨ ¬B(x))∃x (¬A(x) ∨ ¬B(x))∃x (¬A(x) ∧ ¬B(x))

否定を最も内側まで移したとき、¬∀x (A(x) ∨ B(x)) と同値な主張はどれですか? クリックしてください。

¬∀x (A(x) ∨ B(x))
  1. 1∀x (¬A(x) ∧ ¬B(x))
  2. 2∀x (¬A(x) ∨ ¬B(x))
  3. 3∃x (¬A(x) ∨ ¬B(x))
  4. 4∃x (¬A(x) ∧ ¬B(x))
5.デジタル論理:ゲート・カルノー図・フリップフロップふつう
ABCD00011110000111101111111

このカルノー図には、隣り合う 1 をもたない 1 がちょうど 1 つあり、最小の SOP 形では 1 セルのグループ(4 リテラルの完全な最小項)のままです。図の端をまたぐ隣接も数えます。そのセルをクリックしてください。

F = Σm(2, 5, 7, 9, 11, 14, 15)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
6.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
CLKJK12345678

正エッジトリガの JK フリップフロップが Q = 0 から始まり、8 回の立ち上がりクロックエッジで図の入力を受け取ります。Q は何回N状態を変えますか?

Q₀ = 0JK
N =
7.整数論と合同式ふつう

22 を法とする 19 の逆元を求めてください:0 < x < 22 かつ 19·x ≡ 1 (mod 22) を満たす数 x です。

a = 19n = 22
19−1 mod 22 =
8.整数論と合同式むずかしい
mc = me​ mod n1758m = cd​ mod n?(n, e) = (2021, 11)d

ある RSA 鍵は p = 43、q = 47、e = 11 を使います。暗号文 c = 1758 を復号して、メッセージ m を求めてください。

p = 43q = 47e = 11c = 1758
m =
9.アルゴリズムと計算量ふつう

1、3、4 の硬貨で金額 6 をつくるとき、貪欲な「最大の硬貨から」方式は最適解と比べて何枚の硬貨を使いますか?

  1. A貪欲法は 3 枚、最適解は 3 枚
  2. B貪欲法は 3 枚、最適解は 2 枚
  3. C貪欲法は 4 枚、最適解は 3 枚
  4. D貪欲法は 2 枚、最適解は 2 枚
10.アルゴリズムと計算量むずかしい

クック-レビンの定理は何を確立しましたか?

  1. Aすべての NP 問題が指数時間で解けること
  2. B停止問題が決定不能であること
  3. CP が NP と等しくないこと
  4. Dブール充足可能性問題(SAT)が NP 完全であること
11.データ構造ふつう

AVL 木はすべてのノードでどのような平衡条件を保っていますか。

  1. Aすべての葉がちょうど同じ深さにある
  2. B左右の部分木の高さの差が高々 1 である
  3. Cすべてのノードが赤または黒に塗られている
  4. Dすべてのノードの両方の部分木が、まったく同じ数のノードを含む
12.データ構造むずかしい

セグメント木は一般的に何に使われますか。

  1. Aスタックを実装する
  2. Bグラフの辺を格納する
  3. C区間クエリ(区間和など)と更新を O(log n) で処理する
  4. D各接頭辞を別々の木のノードに格納することで、文字列をアルファベット順にソートする
13.グラフ理論ふつう

完全グラフ K7 には、異なるハミルトン閉路が何個Hありますか? 始点や向きだけが異なる閉路は同じものとして数えます。

K7
H =
14.グラフ理論むずかしい
98315483ABCDEF

ダイクストラ法を A から実行します。ラウンド 5 で確定する(永続になる)頂点をクリックしてください。A 自身がラウンド 1 です。

始点:Aラウンド 5
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
15.データベースと SQLふつう

共通テーブル式(WITH name AS (...))は何を提供しますか?

  1. A削除されるまでディスクに保存され続ける恒久的なテーブル
  2. B列に対するインデックス
  3. C1 つの文の中で使える、名前付きの一時的な結果
  4. D新しいデータベースユーザー
16.データベースと SQLむずかしい

クエリに対するカバリングインデックスとは何ですか?

  1. Aクエリに必要なすべての列を含み、テーブル自体を読まなくてよいインデックス
  2. B毎晩再構築されるインデックス
  3. Cすべてのテーブルのすべての列をカバーするインデックス
  4. D主キーだけのインデックス
17.コンピュータネットワークふつう

ステートフルファイアウォールは単純なパケットフィルターとどう違いますか?

  1. A接続を追跡し、確立済みのセッションに属する応答を許可する
  2. B転送するすべてのパケットを暗号化する
  3. C各フレームの MAC アドレスだけを確認する
  4. D送信要求への応答も含め、例外なくすべての受信トラフィックを遮断する
18.コンピュータネットワークむずかしい

ファイアウォールがすべての ICMP を遮断しています。小さな Web 要求は機能しますが、一部の経路で大きなダウンロードが止まってしまいます。考えられる原因は何ですか?

  1. A「フラグメント化が必要」メッセージが遮断されるため、パス MTU 探索が失敗する
  2. BDNS は名前解決に ICMP を必要とする
  3. CTLS 証明書は ICMP で送られる
  4. DTCP は ICMP なしではコネクションを開けない
19.IPv4 サブネット化ふつう
/24 → /2611111111111111111111111111000000ネットワーク部ホスト部

ネットワーク 192.168.10.0/24 を、少なくとも 4 個の同じ大きさのサブネットに分けます。借りるビットをできるだけ少なくすると、各サブネットで使えるホスト数 H はいくつですか?

192.168.10.0/244 subnets
H =
20.IPv4 サブネット化むずかしい
第 3 オクテット = 0012806403201608040201ネットワークホスト

あるホストのアドレスは 172.20.0.235/17 です。そのサブネットのブロードキャストアドレスの第 3 オクテット x はいくつですか?

172.20.0.235/17
x =

3溶液

1.記数法

答え: U = 214

ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。

反転して 1 を足す

42 = 0010 1010
反転後: 1101 0101
+1 → 1101 0110

符号なしとして読む

1101 0110₂ = 256 − 42 = 214

答え

U = 214
2.記数法

答え: N = 1.678 × 10⁷

位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。

最大値

224 − 1 = 16777215

答え

N = 16777215
3.命題論理と証明

答え: (p ∧ q) ∨ (p ∧ r)

論理的同値:2 つの論理式は、真理値表のすべての行で同じ値をとるとき同値(≡)です。恒真式(トートロジー)はすべての行で 1、矛盾(恒偽式)はすべての行で 0、どちらでもないものは充足可能な非恒真式です。役に立つ法則:ド・モルガンの法則 ¬(a ∧ b) ≡ ¬a ∨ ¬b と ¬(a ∨ b) ≡ ¬a ∧ ¬b、a → b ≡ ¬a ∨ b ≡ ¬b → ¬a(対偶)、¬(a → b) ≡ a ∧ ¬b、そして分配法則 a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)。

法則

∧ は ∨ に対して分配します:a ∧ (b ∨ c) ≡ (a ∧ b) ∨ (a ∧ c)。
p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)

真理値表で確かめる

p = 1, q = 1, r = 1: 1 | 1 1 1 1
p = 1, q = 1, r = 0: 1 | 1 1 1 1
p = 1, q = 0, r = 1: 1 | 1 1 1 1
p = 1, q = 0, r = 0: 0 | 1 0 0 1
p = 0, q = 1, r = 1: 0 | 1 1 0 1
p = 0, q = 1, r = 0: 0 | 0 0 0 0
p = 0, q = 0, r = 1: 0 | 0 1 0 0
p = 0, q = 0, r = 0: 0 | 0 0 0 0

答え

(p ∧ q) ∨ (p ∧ r)

縦線の後ろの列は、表示されている順の選択肢です。

4.命題論理と証明

答え: ∃x (¬A(x) ∧ ¬B(x))

量化子と論証:¬∀x P(x) ≡ ∃x ¬P(x)、¬∃x P(x) ≡ ∀x ¬P(x)。否定を内側へ移し、通過する量化子をすべて入れ替え、内側の式は ¬(a → b) ≡ a ∧ ¬b のような命題論理の法則で否定します。論証は、すべての前提が 1 であるどの行でも結論が 1 のとき、妥当です。前提が真で結論が偽になる行が 1 つでもあれば、それは反例であり、その論証が妥当でないことを示します。

否定を内側へ移す

¬∀x (A(x) ∨ B(x)) ≡ ∃x (¬A(x) ∧ ¬B(x))

答え

∃x (¬A(x) ∧ ¬B(x))

ほかの選択肢は、量化子がそのままになっているか、量化子の順序が変わっているか、内側の式の否定が間違っているかのどれかです。

5.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: AB = 00, CD = 10

カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。

各 1 の隣

隣り合う 1 がある 1 は、2 つ以上のグループに加わることができます。

m2: m3, m0, m6, m10 → 0
ABCD00011110000111101111111

孤立した 1

m2 = A′B′CD′ → AB = 00, CD = 10

答え

AB = 00, CD = 10
6.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: N = 2

フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。D は入力をコピーし(Q⁺ = D)、T は T = 1 のときトグルし、JK は 00 で保持、01 でリセット、10 でセット、11 でトグルします。n ビットの 2 進カウンタには 2ⁿ 個の状態があり、2ⁿ を法として数えます。mod-N カウンタは 0, 1, …, N − 1 と数えて 0 に戻り、2ⁿ ≥ N を満たす最小の n 個のフリップフロップが必要です。リップルカウンタの各段は周波数を半分にするので、mod-N カウンタの最後の出力は fclk/N で動作します。n 個のフリップフロップのジョンソンカウンタには 2n 個の状態があり、リングカウンタには n 個あります。

エッジごとの Q

JK フリップフロップ:00 は保持、01 はリセット(Q = 0)、10 はセット(Q = 1)、11 はトグルです。

1: J = 0, K = 1 → Q = 0
2: J = 1, K = 1 → Q = 1
3: J = 1, K = 0 → Q = 1
4: J = 1, K = 0 → Q = 1
5: J = 1, K = 0 → Q = 1
6: J = 0, K = 1 → Q = 0
7: J = 0, K = 1 → Q = 0
8: J = 0, K = 0 → Q = 0

変化を数える

0 → 0 → 1 → 1 → 1 → 1 → 0 → 0 → 0
N = 2

答え

N = 2
7.整数論と合同式

答え: 19−1 mod 22 = 7

逆元と合同式:a が n を法として逆元をもつのは、gcd(a, n) = 1 のときに限ります。拡張ユークリッドの互除法で 1 = s·n + t·a と書くと、a⁻¹ ≡ t (mod n) です。gcd(a, n) = 1 のとき、合同式 a·x ≡ b (mod n) の解は x ≡ a⁻¹·b です。法が互いに素な 2 つの合同式 x ≡ r₁ (mod m₁) と x ≡ r₂ (mod m₂) には、m₁·m₂ を法として 1 つの解があります(中国の剰余定理)。オイラーの φ(n) は、1 から n までの数のうち n と互いに素なものの個数です:φ(n) = n·∏(1 − 1/p)。

拡張ユークリッドの互除法

各余り r は r ≡ t·19 (mod 22) と書けます。

r = 22, t = 0
r = 19, q = 1, t = 1
r = 3, q = 6, t = −1
r = 1, q = 3, t = 7

逆行列

1 ≡ 7·19 (mod 22)
x = 7
確認: 19·7 = 133 = 6·22 + 1

答え

19−1 mod 22 = 7
8.整数論と合同式

答え: m = 1573

冪剰余と RSA:aᵏ mod n は反復二乗法で計算します:k を 2 進数で書き、二乗し、毎回簡約し、ビットが 1 の冪を掛けます。フェルマー:素数 p が a を割り切らないとき aᵖ⁻¹ ≡ 1 (mod p) なので、指数は p − 1 を法として簡約できます。RSA:素数 p と q を選び、n = p·q、φ(n) = (p − 1)(q − 1) とします。公開指数 e は φ(n) と互いに素で、秘密指数は d = e⁻¹ mod φ(n) です。暗号化は c = mᵉ mod n、復号は m = cᵈ mod n で行います。

秘密指数

n = 2021, φ(n) = 1932
d = 11−1 mod 1932 = 527

反復二乗法で復号する

527 = 512 + 8 + 4 + 2 + 1
17581 ≡ 1758 (mod 2021)
17582 ≡ 455 (mod 2021)
17584 ≡ 883 (mod 2021)
17588 ≡ 1604 (mod 2021)
175816 ≡ 83 (mod 2021)
175832 ≡ 826 (mod 2021)
175864 ≡ 1199 (mod 2021)
1758128 ≡ 670 (mod 2021)
1758256 ≡ 238 (mod 2021)
1758512 ≡ 56 (mod 2021)
1758527 ≡ 1758·455·883·1604·56 ≡ 1573 (mod 2021)

メッセージ

m = 1573
確認: 157311 mod 2021 = 1758

答え

m = 1573
9.アルゴリズムと計算量

答え: B · 貪欲法は 3 枚、最適解は 2 枚

これが答えになる理由

貪欲法は 4 + 1 + 1 = 3 枚を使いますが、3 + 3 なら 2 枚で済むので、この硬貨体系では貪欲法は最適ではありません。動的計画法なら最適です。

答え

B · 貪欲法は 3 枚、最適解は 2 枚
10.アルゴリズムと計算量

答え: D · ブール充足可能性問題(SAT)が NP 完全であること

これが答えになる理由

クックとレビンは独立に、NP のすべての問題が多項式時間で SAT に帰着することを示したので、SAT は最初に知られた NP 完全問題となりました。

答え

D · ブール充足可能性問題(SAT)が NP 完全であること
11.データ構造

答え: B · 左右の部分木の高さの差が高々 1 である

これが答えになる理由

平衡係数(左の高さ − 右の高さ)は −1、0、1 のいずれかでなければなりません。挿入と削除の後は回転によってこれを回復します。

答え

B · 左右の部分木の高さの差が高々 1 である
12.データ構造

答え: C · 区間クエリ(区間和など)と更新を O(log n) で処理する

これが答えになる理由

セグメント木は区間ごとの集約値を格納し、区間クエリと一点更新を O(log n) 時間で行えます。

答え

C · 区間クエリ(区間和など)と更新を O(log n) で処理する
13.グラフ理論

答え: H = 360

オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。

数える

H = (7 − 1)!/2 = 720/2 = 360

答え

H = 360
14.グラフ理論

答え: E

最短経路と全域木:ダイクストラ法は毎ラウンド 1 つの頂点を確定します:暫定距離が最小の未確定の頂点です。その距離は最終となり、各隣接頂点 v は d(v) = min(d(v), d(u) + w(u, v)) と更新されます。クラスカル法は、辺を軽い順に取り、閉路をつくる辺を飛ばして最小全域木をつくります。プリム法は、始点から 1 本の木を成長させ、その木から出る最も軽い辺を常に加えます。n 個の頂点の全域木には n − 1 本の辺があります。

ダイクストラ法をラウンドごとに

1. A (0): B: 9, C: 8
2. C (8): E: 13
3. B (9): D: 10, E: 12
4. D (10): F: 18
5. E (12)
6. F (18)

ラウンド 5

E

答え

E
15.データベースと SQL

答え: C · 1 つの文の中で使える、名前付きの一時的な結果

これが答えになる理由

CTE はサブクエリに名前を付けるため、複雑なクエリが読みやすくなり、同じ文の中で何度も参照できます。

答え

C · 1 つの文の中で使える、名前付きの一時的な結果
16.データベースと SQL

答え: A · クエリに必要なすべての列を含み、テーブル自体を読まなくてよいインデックス

これが答えになる理由

参照されるすべての列がインデックスにあれば、DBMS はインデックスオンリースキャンを行い、テーブルの行の取得を省略できるため、I/O が節約されます。

答え

A · クエリに必要なすべての列を含み、テーブル自体を読まなくてよいインデックス
17.コンピュータネットワーク

答え: A · 接続を追跡し、確立済みのセッションに属する応答を許可する

これが答えになる理由

ステートフルファイアウォールはアクティブな接続のテーブルを保持するため、戻りのトラフィックは自動的に許可されます。ステートレスなフィルターは各パケットを個別に判断します。

答え

A · 接続を追跡し、確立済みのセッションに属する応答を許可する
18.コンピュータネットワーク

答え: A · 「フラグメント化が必要」メッセージが遮断されるため、パス MTU 探索が失敗する

これが答えになる理由

PMTUD はより小さな MTU を知るために ICMP メッセージに頼っています。それが破棄されると、大きなパケットが黙って消え、「ブラックホール」接続が生じます。

答え

A · 「フラグメント化が必要」メッセージが遮断されるため、パス MTU 探索が失敗する
19.IPv4 サブネット化

答え: H = 62

IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。

借りるビット数

22 = 4 ≥ 4 → b = 2, /26

サブネットあたりのホスト数

26 − 2 = 62

答え

H = 62
20.IPv4 サブネット化

答え: x = 127

IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).

第 3 オクテットのブロックサイズ

27 = 128

このホストのサブネット

ネットワーク: 172.20.0.0
ブロードキャスト: 172.20.127.255

答え

x = 127

ExamProblems · examproblems.com/courses/computer-science-fundamentals