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

公式集、全トピックの解法の要点、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.記数法ふつう
2 の補数での桁の重み1−12816403201618141201

8 ビットのパターン 1100 1110 は、符号付き整数を 2 の補数で表しています。10 進数での値 N はいくつですか?

1100 11108 bit
N =
2.記数法むずかしい
32 ビットの 2 の補数, N = ??符号???????????????????????????????

32 ビットの 2 の補数で表せる最小(最も負の)整数 N はいくつですか?

32 bit
N =
3.命題論理と証明ふつう
abc(b → a) ∧ ¬(b ∧ c)¬((b → a) ∧ ¬(b ∧ c))(c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c))111?110?101?100?011?010?001?000?

この論理式 (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) は、真理値表の 8 行のうち何行で真になりますか? この数を N とします。

(c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c))
N =
4.命題論理と証明むずかしい
¬bbc ∧ bc

前提 c ∨ b; ¬c が与えられています。そこから導かれる結論はどれですか? クリックしてください。

c ∨ b¬c
  1. 1¬b
  2. 2b
  3. 3c ∧ b
  4. 4c
5.デジタル論理:ゲート・カルノー図・フリップフロップふつう
ABCD00011110000111101111111

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

F = Σm(0, 2, 3, 6, 7, 10, 13)
  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.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
ABCD000111100001111000X113020415X706112013X150141819111010

d はドントケア条件を表します。F(A, B, C, D) = Σm(3, 5, 8, 9, 11, 12) + d(1, 7, 15) について、必須主項の個数 N を求めてください。

F(A, B, C, D) = Σm(3, 5, 8, 9, 11, 12) + d(1, 7, 15)
N =
7.整数論と合同式ふつう

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

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

反復二乗法を使って 35176 mod 78 を求めてください。

a = 35k = 176n = 78
35176 mod 78 =
9.アルゴリズムと計算量ふつう

1,000,000 要素のソート済み配列に対して、二分探索は最悪の場合およそ何回の比較を必要としますか?

  1. A約 20 回
  2. B約 500,000 回
  3. C約 1,000 回
  4. D約 100 回
10.アルゴリズムと計算量むずかしい

ヘルド-カープの動的計画法アルゴリズムは巡回セールスマン問題を厳密に解きます。n 都市に対する実行時間は何ですか?

  1. AO(2n²)
  2. BO(n³)
  3. CO(n!)
  4. DO(n² 2ⁿ)
11.データ構造ふつう

実行中のプログラムが、有効な関数呼び出しとそのローカル変数を管理するために使うデータ構造はどれですか。

  1. Aコールスタック
  2. B関数のハッシュテーブル
  3. Cヒープメモリのキュー
  4. Dフレームの二分探索木
12.データ構造むずかしい

根が 50、左部分木が 30(子は 20, 40)、右部分木が 70(子は 60, 80)の BST で、通りがけ順の後続ノードを使って根を削除します。新しい根になるキーはどれですか。

  1. A80
  2. B40
  3. C70
  4. D60
13.グラフ理論ふつう

木に 次数 4 の頂点が 3 個 があり、ほかのすべての頂点は葉(次数 1)です。葉は何枚Lありますか?

3 × deg 4
L =
14.グラフ理論むずかしい
11461017131219ABCDEF

クラスカル法は最小全域木をつくります。それが 5 番目に加える辺をクリックしてください。飛ばされた辺は数えません。

k = 5
  1. 1辺 AB
  2. 2辺 AC
  3. 3辺 BD
  4. 4辺 CE
  5. 5辺 DE
  6. 6辺 DF
  7. 7辺 EF
  8. 8辺 BE
15.データベースと SQLふつう

列にインデックスを作成するのはなぜですか?

  1. Aそれらの列に対する挿入と更新を高速化するため
  2. Bディスク容量を節約するため
  3. CNULL 値を防ぐため
  4. Dその列に対する検索や結合を高速化するため
16.データベースと SQLむずかしい

次のクエリは何を返しますか:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)

  1. A最高点の学生のみ
  2. B全学生の平均点
  3. CWHERE ではサブクエリが使えないためエラー
  4. D成績が平均点を上回る学生
17.コンピュータネットワークふつう

1500 バイトのパケットを 12 Mbit/s のリンクに送り出すのにどれだけかかりますか(伝送遅延)?

  1. A12 ms
  2. B8 ms
  3. C0.125 ms
  4. D1 ms
18.コンピュータネットワークむずかしい

TCP コネクションを先に閉じた側が、最大セグメント生存時間の 2 倍の間 TIME_WAIT 状態にとどまるのはなぜですか?

  1. A暗号鍵を後で再利用できるよう保持するため
  2. B経路上のルーターが、次のコネクションに備えてルーティングテーブルを更新できるようにするため
  3. CDNS キャッシュの期限切れを待つため
  4. D遅れたセグメントが消滅し、最後の ACK が失われた場合に再送できるようにするため
19.IPv4 サブネット化ふつう
/24 → /2711111111111111111111111111100000ネットワーク部ホスト部

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

192.168.10.0/248 subnets
H =
20.IPv4 サブネット化むずかしい
最後のオクテット = 101012816413201608140211ネットワークホスト

あるホストのアドレスは 10.20.108.101/28 です。そのサブネットで最後に使えるホストアドレスの第 4 オクテット x はいくつですか?

10.20.108.101/28
x =

3溶液

1.記数法

答え: N = −50

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

重みを合計する

ほかのビットは通常の正の重みのままです。

−128 + 64 + 8 + 4 + 2 = −50

答え

N = −50
2.記数法

答え: N = −2.147 × 10⁹

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

最も負の値

−231 = −2147483648

答え

N = −2147483648
3.命題論理と証明

答え: N = 5

真理値表:n 個の異なる変数をもつ論理式には、真理値のすべての組み合わせに対応する 2ⁿ 行があります(1 = 真、0 = 偽)。内側から順に進め、部分式ごとに列を用意します。¬a は値を反転させ、a ∧ b は両方が 1 のときだけ 1、a ∨ b は両方が 0 のときだけ 0、a → b は a = 1 かつ b = 0 のときだけ 0、a ↔ b は両辺が等しいとき 1 です。

真理値表を行ごとに見る

a = 1, b = 1, c = 1: ¬a = 0, c ∨ ¬a = 1, b → a = 1, b ∧ c = 1, ¬(b ∧ c) = 0, (b → a) ∧ ¬(b ∧ c) = 0, ¬((b → a) ∧ ¬(b ∧ c)) = 1, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 1
a = 1, b = 1, c = 0: ¬a = 0, c ∨ ¬a = 0, b → a = 1, b ∧ c = 0, ¬(b ∧ c) = 1, (b → a) ∧ ¬(b ∧ c) = 1, ¬((b → a) ∧ ¬(b ∧ c)) = 0, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 1
a = 1, b = 0, c = 1: ¬a = 0, c ∨ ¬a = 1, b → a = 1, b ∧ c = 0, ¬(b ∧ c) = 1, (b → a) ∧ ¬(b ∧ c) = 1, ¬((b → a) ∧ ¬(b ∧ c)) = 0, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 0
a = 1, b = 0, c = 0: ¬a = 0, c ∨ ¬a = 0, b → a = 1, b ∧ c = 0, ¬(b ∧ c) = 1, (b → a) ∧ ¬(b ∧ c) = 1, ¬((b → a) ∧ ¬(b ∧ c)) = 0, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 1
a = 0, b = 1, c = 1: ¬a = 1, c ∨ ¬a = 1, b → a = 0, b ∧ c = 1, ¬(b ∧ c) = 0, (b → a) ∧ ¬(b ∧ c) = 0, ¬((b → a) ∧ ¬(b ∧ c)) = 1, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 1
a = 0, b = 1, c = 0: ¬a = 1, c ∨ ¬a = 1, b → a = 0, b ∧ c = 0, ¬(b ∧ c) = 1, (b → a) ∧ ¬(b ∧ c) = 0, ¬((b → a) ∧ ¬(b ∧ c)) = 1, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 1
a = 0, b = 0, c = 1: ¬a = 1, c ∨ ¬a = 1, b → a = 1, b ∧ c = 0, ¬(b ∧ c) = 1, (b → a) ∧ ¬(b ∧ c) = 1, ¬((b → a) ∧ ¬(b ∧ c)) = 0, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 0
a = 0, b = 0, c = 0: ¬a = 1, c ∨ ¬a = 1, b → a = 1, b ∧ c = 0, ¬(b ∧ c) = 1, (b → a) ∧ ¬(b ∧ c) = 1, ¬((b → a) ∧ ¬(b ∧ c)) = 0, (c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)) = 0

値が 1 の行を数える

(c ∨ ¬a) → ¬((b → a) ∧ ¬(b ∧ c)): 1, 1, 0, 1, 1, 1, 0, 0
N = 5

答え

N = 5
4.命題論理と証明

答え: b

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

すべての前提が真の行

b = 1, c = 0: ¬b = 0, b = 1, c ∧ b = 0, c = 0

結論

b (選言三段論法)

答え

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

答え: AB = 11, CD = 01

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

各 1 の隣

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

m13: m12, m15, m9, m5 → 0
ABCD00011110000111101111111

孤立した 1

m13 = ABC′D → AB = 11, CD = 01

答え

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

答え: N = 2

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

主項

1 と X からつくれる最大のグループ。

CD, B′D, A′D, AC′D′, AB′C′
ABCD000111100001111000X113020415X706112013X150141819111010

必須主項

A′D, AC′D′
N = 2

答え

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

答え: 40−1 mod 79 = 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)。

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

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

r = 79, t = 0
r = 40, q = 1, t = 1
r = 39, q = 1, t = −1
r = 1, q = 39, t = 2

逆行列

1 ≡ 2·40 (mod 79)
x = 2
確認: 40·2 = 80 = 1·79 + 1

答え

40−1 mod 79 = 2
8.整数論と合同式

答え: 35176 mod 78 = 55

冪剰余と 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 で行います。

2 進数の指数

176 = 101100002 = 128 + 32 + 16

反復二乗法

351 ≡ 35 (mod 78)
352 ≡ 55 (mod 78)
354 ≡ 61 (mod 78)
358 ≡ 55 (mod 78)
3516 ≡ 61 (mod 78)
3532 ≡ 55 (mod 78)
3564 ≡ 61 (mod 78)
35128 ≡ 55 (mod 78)

必要な冪を掛ける

35176 ≡ 61·55·55 ≡ 55 (mod 78)

答え

35176 mod 78 = 55
9.アルゴリズムと計算量

答え: A · 約 20 回

これが答えになる理由

220 ≈ 1,048,576 なので、約 20 回半分にすると要素は 1 つだけ残ります。

答え

A · 約 20 回
10.アルゴリズムと計算量

答え: D · O(n² 2ⁿ)

これが答えになる理由

状態は約 n 2ⁿ 個あり、それぞれ O(n) で計算されます。これは指数時間ですが、(n − 1)! 通りの巡回路をすべて試すよりはるかに速いです。

答え

D · O(n² 2ⁿ)
11.データ構造

答え: A · コールスタック

これが答えになる理由

各呼び出しはスタックフレームを push し、各リターンはそれを pop します。そのため最も新しい呼び出しが最初に終了します。

答え

A · コールスタック
12.データ構造

答え: D · 60

これが答えになる理由

右部分木の最も左のノードは 60 なので、60 が 50 と置き換わり、元の位置からは取り除かれます。先行ノードを使えば 40 になります。

答え

D · 60
13.グラフ理論

答え: L = 8

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

木の握手補題

L + 12 = 2(L + 3) − 2
L = 8

答え

L = 8

近道:次数 d ≥ 3 の頂点について L = 2 + Σ (d − 2) です。

14.グラフ理論

答え: 辺 EF

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

クラスカル法

1. AC (4)
2. BD (6)
3. CE (10)
4. AB (11)
5. EF (12)

辺の番号 5

EF

答え

辺 EF
15.データベースと SQL

答え: D · その列に対する検索や結合を高速化するため

これが答えになる理由

インデックス(多くは B-tree)は検索を高速化しますが、容量を消費し、インデックスを維持する必要がある挿入や更新を遅くします。

答え

D · その列に対する検索や結合を高速化するため
16.データベースと SQL

答え: D · 成績が平均点を上回る学生

これが答えになる理由

スカラーサブクエリが平均を計算し、外側のクエリがそれを上回る学生を残します。

答え

D · 成績が平均点を上回る学生
17.コンピュータネットワーク

答え: D · 1 ms

これが答えになる理由

1500 バイト = 12,000 ビット。12,000 / 12,000,000 bit/s = 0.001 s = 1 ms。伝送遅延はパケットサイズとリンク速度で決まり、距離には依存しません。

答え

D · 1 ms
18.コンピュータネットワーク

答え: D · 遅れたセグメントが消滅し、最後の ACK が失われた場合に再送できるようにするため

これが答えになる理由

TIME_WAIT により、失われた最後の ACK を繰り返すことができ、同じアドレスとポートの組が再利用される前に古い重複セグメントが期限切れになります。

答え

D · 遅れたセグメントが消滅し、最後の ACK が失われた場合に再送できるようにするため
19.IPv4 サブネット化

答え: H = 30

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

借りるビット数

23 = 8 ≥ 8 → b = 3, /27

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

25 − 2 = 30

答え

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

答え: x = 110

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

ブロックサイズ

24 = 16

このホストのサブネット

ネットワーク: ⌊101/16⌋·16 = 96
ブロードキャスト: 96 + 16 − 1 = 111
使えるホスト: 97 … 110

答え

x = 110

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