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

公式集、全トピックの解法の要点、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 の補数?−128?64?32?16?8?4?2?1

−72 を 8 ビットの 2 の補数パターンで表しなさい。そのパターンを符号なし 2 進数として読むと、10 進数での値 U はいくつですか?

N = −728 bit
U =
2.記数法むずかしい
ビットをクリックして設定します012806403201608040201

ビットを 1101 0011 AND 1001 1001 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?

1101 0011AND1001 1001
R =
3.命題論理と証明ふつう
恒真式矛盾(恒偽式)恒真でも矛盾でもない式

((c → b) ∧ (b → a)) → (c → a) は恒真式、矛盾、そのどちらでもない式のうちのどれですか? 答えをクリックしてください。

((c → b) ∧ (b → a)) → (c → a)
  1. 1恒真式
  2. 2矛盾(恒偽式)
  3. 3恒真でも矛盾でもない式
4.命題論理と証明むずかしい
∃x ∃y (¬R(x, y) ∧ ¬R(y, x))∃x ∃y (R(x, y) → ¬R(y, x))∃x ∃y (R(x, y) ∧ ¬R(y, x))∀x ∀y (R(x, y) ∧ ¬R(y, x))

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

¬∀x ∀y (R(x, y) → R(y, x))
  1. 1∃x ∃y (¬R(x, y) ∧ ¬R(y, x))
  2. 2∃x ∃y (R(x, y) → ¬R(y, x))
  3. 3∃x ∃y (R(x, y) ∧ ¬R(y, x))
  4. 4∀x ∀y (R(x, y) ∧ ¬R(y, x))
5.デジタル論理:ゲート・カルノー図・フリップフロップふつう
ABCD000111100001111010011302040507061120131151141819011010

カルノー図を使って F(A, B, C, D) = Σm(0, 3, 8, 9, 12, 14, 15) の最小の積和形(SOP)を求めてください。リテラル L は合計でいくつ含まれますか(プライム付きの変数も 1 つのリテラルと数えます)?

F(A, B, C, D) = Σm(0, 3, 8, 9, 12, 14, 15)
L =
6.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
TQ0​Q0​TQ1​Q1​TQ2​Q2​CLKDOWN

3 ビット 2 進ダウンカウンタ は 0(10 進数、Q = 000)から始まります。14 クロックパルスのあとの計数値 Q(10 進数)はいくつですか?

Q0 = 014n = 3
Q =
7.整数論と合同式ふつう

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

a = 56n = 79
56−1 mod 79 =
8.整数論と合同式むずかしい

18x ≡ 12 (mod 22) は、{0, 1, …, 21} の中にいくつ解 N をもちますか?

18x ≡ 12 (mod 22)
N =
9.アルゴリズムと計算量ふつう

重みなしグラフでの幅優先探索(BFS)で求められるものはどれですか?

  1. A最小全域木
  2. B始点ノードからの辺の数で測った最短経路
  3. C負の辺の重みを含むグラフでの最短経路
  4. Dすべてのグラフにおけるトポロジカル順序
10.アルゴリズムと計算量むずかしい

クラス NP の定義として正しいものはどれですか?

  1. A多項式時間で解けない問題
  2. B証拠(certificate)が与えられれば、「はい」の答えを多項式時間で検証できる決定問題
  3. Cどのアルゴリズムでも解けない問題
  4. D多項式でない問題
11.データ構造ふつう

インデックス 0 から始まる配列に格納された二分ヒープで、インデックス i のノードの親はどこにありますか。

  1. Aインデックス ⌊i / 2⌋ + 1
  2. Bインデックス ⌊(i − 1) / 2⌋
  3. Cインデックス 2i + 1
  4. Dインデックス i − 1
12.データ構造むずかしい

ハッシュテーブルが正しく動作するためには、ハッシュと等価性はどの規則に従わなければなりませんか。

  1. Aハッシュ値は素数でなければならない
  2. B異なるキーは異なるハッシュ値をもたなければならない
  3. C等しいキーは等しいハッシュ値をもたなければならない
  4. Dハッシュ値が等しければキーも等しい
13.グラフ理論ふつう
ABCDEFオイラー閉路オイラー路あり、閉路なしどちらでもない

この連結グラフには、オイラー閉路、閉路でないオイラー路、またはどちらもないのうち、どれがありますか? 答えをクリックしてください。

|V| = 6|E| = 6
  1. 1オイラー閉路
  2. 2オイラー路あり、閉路なし
  3. 3どちらでもない
14.グラフ理論むずかしい
15410121389148ABCDEFG

ダイクストラ法を使って、重み付きグラフで A から G までの最短経路の長さd(G)を求めてください。

始点:A終点:G
d(G) =
15.データベースと SQLふつう

テーブルに col が NULL の行があります。WHERE col = NULL はどの行を返しますか?

  1. Aテーブルのすべての行
  2. BIS NULL の場合と同様に、col が NULL の行だけ
  3. C比較が不明(UNKNOWN)になるので、行を返さない
  4. Dどのデータベースでもエラー
16.データベースと SQLむずかしい

col のすべての値が NULL で、テーブルに 10 行ある場合、SELECT COUNT(col) FROM t の結果は何ですか?

  1. A0
  2. B10
  3. Cエラー
  4. DNULL
17.コンピュータネットワークふつう

従来の共有(半二重)Ethernet はどの媒体アクセス方式を使っていましたか?

  1. Aトークンパッシング
  2. BCSMA/CD
  3. CTDMA
  4. DCSMA/CA
18.コンピュータネットワークむずかしい

あるサーバーの秘密鍵が 1 年後に盗まれます。今日記録されたセッションを安全に保つ TLS の特性はどれですか?

  1. Aより長いドメイン名を使うこと
  2. B暗号化の前にデータを圧縮すること
  3. C一時的な Diffie-Hellman 鍵交換による前方秘匿性
  4. D証明書を 2 回送ること
19.IPv4 サブネット化ふつう
/?11111111111111111111100000000000ネットワーク部ホスト部

ある部署では、1 つのサブネット内に 1303 個のホストアドレスが必要です。十分な大きさとなる最長のプレフィックス長 p(最小のサブネット)はいくつですか?

1303 hosts
p =
20.IPv4 サブネット化むずかしい
第 3 オクテット 151 … 154112806403211608141211共通可変

あるルータは次のネットワークへの経路をもっています:10.218.151.0/24, 10.218.152.0/24, 10.218.153.0/24, 10.218.154.0/24。それらすべてをカバーする 1 つの集約経路の最長のプレフィックス長 p はいくつですか?

10.218.151.0/24 … 10.218.154.0/24
p =

3溶液

1.記数法

答え: U = 184

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

反転して 1 を足す

72 = 0100 1000
反転後: 1011 0111
+1 → 1011 1000

符号なしとして読む

1011 1000₂ = 256 − 72 = 184

答え

U = 184
2.記数法

答え: R = 145

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

ビットごとに

AND は、両方のビットが 1 のところだけ 1 になります。

1101 0011
AND 1001 1001
= 1001 0001

結果の値

1001 0001₂ = 145

答え

R = 145
3.命題論理と証明

答え: 恒真式

論理的同値: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 = 1, b = 1, c = 1: c → b = 1, b → a = 1, (c → b) ∧ (b → a) = 1, c → a = 1, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 1, b = 1, c = 0: c → b = 1, b → a = 1, (c → b) ∧ (b → a) = 1, c → a = 1, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 1, b = 0, c = 1: c → b = 0, b → a = 1, (c → b) ∧ (b → a) = 0, c → a = 1, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 1, b = 0, c = 0: c → b = 1, b → a = 1, (c → b) ∧ (b → a) = 1, c → a = 1, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 0, b = 1, c = 1: c → b = 1, b → a = 0, (c → b) ∧ (b → a) = 0, c → a = 0, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 0, b = 1, c = 0: c → b = 1, b → a = 0, (c → b) ∧ (b → a) = 0, c → a = 1, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 0, b = 0, c = 1: c → b = 0, b → a = 1, (c → b) ∧ (b → a) = 0, c → a = 0, ((c → b) ∧ (b → a)) → (c → a) = 1
a = 0, b = 0, c = 0: c → b = 1, b → a = 1, (c → b) ∧ (b → a) = 1, c → a = 1, ((c → b) ∧ (b → a)) → (c → a) = 1

分類

((c → b) ∧ (b → a)) → (c → a): 1, 1, 1, 1, 1, 1, 1, 1
すべての行で 1:恒真式です。

答え

恒真式
4.命題論理と証明

答え: ∃x ∃y (R(x, y) ∧ ¬R(y, x))

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

否定を内側へ移す

¬∀x ∀y (R(x, y) → R(y, x)) ≡ ∃x ∃y (R(x, y) ∧ ¬R(y, x))

答え

∃x ∃y (R(x, y) ∧ ¬R(y, x))

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

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

答え: L = 16

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

ABCD000111100001111010011302040507061120131151141819011010

1 をグループ化する

各グループは 2ᵏ 個のセルからなる長方形です。端のセルは、反対側の端のセルと隣り合っています。

B′C′D′
AC′D′
AB′C′
ABC
A′B′CD

最小の SOP 形

F = B′C′D′ + AC′D′ + AB′C′ + ABC + A′B′CD
L = 16

答え

L = 16

同じ大きさの別のグループ分けもあります。項の数もリテラルの数も同じです。

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

答え: Q = 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 個あります。

完全な周期

8 パルスごとに、カウンタは同じ状態に戻ります。

14 = 1·8 + 6

残りのパルスのあとの計数値

Q = (0 − 6) mod 8 = 2
Q = 010₂

答え

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

答え: 56−1 mod 79 = 24

逆元と合同式: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·56 (mod 79) と書けます。

r = 79, t = 0
r = 56, q = 1, t = 1
r = 23, q = 2, t = −1
r = 10, q = 2, t = 3
r = 3, q = 3, t = −7
r = 1, q = 3, t = 24

逆行列

1 ≡ 24·56 (mod 79)
x = 24
確認: 56·24 = 1344 = 17·79 + 1

答え

56−1 mod 79 = 24
8.整数論と合同式

答え: N = 2

逆元と合同式: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)。

gcd で割る

gcd(18, 22) = 2
9x ≡ 6 (mod 11)

簡約した合同式を解く

9−1 ≡ 5 (mod 11) → x ≡ 8 (mod 11)

22 を法とする解

x ∈ {8, 19}
N = 2

答え

N = 2
9.アルゴリズムと計算量

答え: B · 始点ノードからの辺の数で測った最短経路

これが答えになる理由

BFS は始点からの距離(辺の数)の順にノードを訪問するため、O(V + E) で重みなしの最短経路を求めます。

答え

B · 始点ノードからの辺の数で測った最短経路
10.アルゴリズムと計算量

答え: B · 証拠(certificate)が与えられれば、「はい」の答えを多項式時間で検証できる決定問題

これが答えになる理由

NP の問題では、たとえば与えられた割り当てがブール式を充足することの確認のように、提案された解(証拠)をすばやく検証できます。

答え

B · 証拠(certificate)が与えられれば、「はい」の答えを多項式時間で検証できる決定問題
11.データ構造

答え: B · インデックス ⌊(i − 1) / 2⌋

これが答えになる理由

i の子は 2i + 1 と 2i + 2 にあるので、i の親は ⌊(i − 1) / 2⌋ です。1 から始まるインデックスでは ⌊i / 2⌋ になります。

答え

B · インデックス ⌊(i − 1) / 2⌋
12.データ構造

答え: C · 等しいキーは等しいハッシュ値をもたなければならない

これが答えになる理由

等しい 2 つのキーのハッシュが異なれば、それらは異なるバケットに格納され、検索に失敗します。等しくないキーがハッシュを共有することはかまいません。

答え

C · 等しいキーは等しいハッシュ値をもたなければならない
13.グラフ理論

答え: オイラー路あり、閉路なし

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

次数

deg(A) = 2, deg(B) = 2, deg(C) = 2, deg(D) = 1, deg(E) = 3, deg(F) = 2

奇数次数の頂点

D, E → 2
オイラー路あり、閉路なし

答え

オイラー路あり、閉路なし

オイラー路は、一方の奇数次数の頂点から始まり、他方で終わります。

14.グラフ理論

答え: d(G) = 23

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

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

各行:確定した頂点、その最終距離、距離が改善される隣接頂点。

A (0): B: 15
B (15): C: 19, G: 23
C (19): E: 29
G (23): D: 37
E (29): F: 42
D (37)
F (42)

最短経路

A → B → G
d(G) = 23

答え

d(G) = 23
15.データベースと SQL

答え: C · 比較が不明(UNKNOWN)になるので、行を返さない

これが答えになる理由

= を使った NULL とのどんな比較も UNKNOWN になり、WHERE は TRUE の行だけを残します。代わりに col IS NULL を使います。

答え

C · 比較が不明(UNKNOWN)になるので、行を返さない
16.データベースと SQL

答え: A · 0

これが答えになる理由

COUNT(col) は NULL でない値を数えるため 0 を返します。COUNT(*) なら 10 を返します。

答え

A · 0
17.コンピュータネットワーク

答え: B · CSMA/CD

これが答えになる理由

衝突検出付きキャリア検知多重アクセス:端末は衝突を検出すると送信をやめ、ランダムなバックオフの後に再試行します。全二重のスイッチ Ethernet には衝突がありません。

答え

B · CSMA/CD
18.コンピュータネットワーク

答え: C · 一時的な Diffie-Hellman 鍵交換による前方秘匿性

これが答えになる理由

一時的な (EC)DHE では、各セッション鍵は破棄される一時的な値から導かれます。長期的な鍵は交換に署名するだけなので、後でそれが盗まれても過去のトラフィックは復号されません。

答え

C · 一時的な Diffie-Hellman 鍵交換による前方秘匿性
19.IPv4 サブネット化

答え: p = 21

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

必要なホストビット数

210 − 2 = 1022 < 1303
211 − 2 = 2046 ≥ 1303 → h = 11

プレフィックス長

p = 32 − 11 = 21

答え

p = /21
20.IPv4 サブネット化

答え: p = 20

経路集約:集約経路 a.b.c.0/p は、最初の p ビットが一致するすべてのネットワークをカバーします。最初と最後のネットワークの異なるオクテットを 2 進数で書きます。共通する先頭のビット数に、それより前のオクテットのビット数を加えたものが最長の集約プレフィックスです。

ビットを比べる

151 = 10010111
154 = 10011010
共通する先頭のビット:4

プレフィックス長

p = 16 + 4 = 20

答え

p = /20

集約経路:10.218.144.0/20 (リストにない 12 個のネットワークもカバーします)。

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