記数法
- 位取り
- 2 進数 2k、8 進数 8k、16 進数 16k
- 10 進数へ
- Σ dk·bk
- 10 進数から
- 基数で割り、余りを下から上へ読む
- 16 進数 ↔ 2 進数
- 16 進数 1 桁 = 4 ビット
- 2 の補数
- ビットを反転して 1 を足す
公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。
8 ビットのパターン 1111 1000 は、符号付き整数を 2 の補数で表しています。10 進数での値 N はいくつですか?
ビットを 1010 0011 << 2 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?
r → p を対偶によって証明しようとしています。代わりに証明する含意はどれですか? クリックしてください。
否定を最も内側まで移したとき、¬∃x ∀y R(x, y) と同値な主張はどれですか? クリックしてください。
F = A′B′C′ + A′B′ + AB′ + B′C′ を最小の積和形に簡単化してください。簡単化した式に含まれるリテラル L はいくつですか?
4 ビットのシフトレジスタ Q₃Q₂Q₁Q₀ が 1101 を保持しています。クロックエッジごとにビットは 1 つ右へシフトし(Q₃ → Q₂ → Q₁ → Q₀、Q₀ は失われる)、シリアル入力が Q₃ に入ります。シリアル入力は 7 エッジで 1, 1, 1, 1, 0, 1, 0 です。最終状態 Q = Q₃Q₂Q₁Q₀ を 10 進数で答えてください。
67 を法とする 15 の逆元を求めてください:0 < x < 67 かつ 15·x ≡ 1 (mod 67) を満たす数 x です。
ある RSA 鍵は p = 31、q = 47、e = 17 を使います。暗号文 c = 625 を復号して、メッセージ m を求めてください。
O(n²) のアルゴリズムは O(n³) でもあると言うのは正しいですか?
マスター定理を用いると、T(n) = 8T(n/2) + O(n²) の解はどれですか?
衝突したキーを同じバケット内のリストに格納する衝突解決法はどれですか。
根が 50、左部分木が 30(子は 20, 40)、右部分木が 70(子は 60, 80)の BST で、通りがけ順の後続ノードを使って根を削除します。新しい根になるキーはどれですか。
完全グラフ K8 には、異なるハミルトン閉路が何個Hありますか? 始点や向きだけが異なる閉路は同じものとして数えます。
E から C への長さ 2 の歩道はいくつありますか? 歩道では頂点や辺を繰り返してもかまいません。その数を N とします。
第三正規形(3NF)で取り除かれるのは次のうちどれですか?
得点は 90、90、80 です。RANK() OVER (ORDER BY score DESC) はどの値を返しますか?
ブラウザーが HTTP ステータスコード 404 を受け取りました。これはどういう意味ですか?
TCP の高速再送は何をしますか?
ある部署では、1 つのサブネット内に 1043 個のホストアドレスが必要です。十分な大きさとなる最長のプレフィックス長 p(最小のサブネット)はいくつですか?
あるホストのアドレスは 10.20.249.149/30 です。そのサブネットのブロードキャストアドレスの最後の数(第 4 オクテット)x はいくつですか?
答え: N = −8
位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。
ほかのビットは通常の正の重みのままです。
答え: R = 140
ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。
2 だけ左にシフトすると、すべてのビットが 2 桁左へ動きます。左端からはみ出したビットは失われ、右側には 0 が入ります。
答え: ¬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)。
対偶は元の主張と同値なので、それを証明すれば元の主張が証明できます。
答え: ∀x ∃y ¬R(x, y)
量化子と論証:¬∀x P(x) ≡ ∃x ¬P(x)、¬∃x P(x) ≡ ∀x ¬P(x)。否定を内側へ移し、通過する量化子をすべて入れ替え、内側の式は ¬(a → b) ≡ a ∧ ¬b のような命題論理の法則で否定します。論証は、すべての前提が 1 であるどの行でも結論が 1 のとき、妥当です。前提が真で結論が偽になる行が 1 つでもあれば、それは反例であり、その論証が妥当でないことを示します。
ほかの選択肢は、量化子がそのままになっているか、量化子の順序が変わっているか、内側の式の否定が間違っているかのどれかです。
答え: L = 1
ブール代数:式を簡単にする規則は、X + X′ = 1 と X·X′ = 0、X + X = X、吸収則 X + X·Y = X、結合則 X·Y + X·Y′ = X、X + X′Y = X + Y、そしてコンセンサス定理 XY + X′Z + YZ = XY + X′Z です。ド・モルガンの法則は (X·Y)′ を X′ + Y′ に、(X + Y)′ を X′·Y′ に変えます。カルノー図はこれらの規則を図で適用するものです:隣り合う 2 つのセルのグループは、XY + XY′ = X を 1 回使うことに当たります。
答え: Q = 5
フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。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 個あります。
答え: 15−1 mod 67 = 9
逆元と合同式: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·15 (mod 67) と書けます。
答え: m = 459
冪剰余と 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 で行います。
答え: B · はい。Big O は上界であり、n² は n³ より速く増加しないから
Big O は上界なので、この記述は正しいですがタイトではありません。正確な増加率を述べるのは Θ(n²) です。
答え: C · Θ(n³)
log₂ 8 = 3 であり、n² は n³ より増加が遅いため、葉が支配的になります:Θ(n³)。
答え: D · チェイン法(Separate chaining)
チェイン法はバケットごとに連結リスト(または別の構造)を持ち、オープンアドレス法はテーブル内で別の空きスロットを探します。
答え: C · 60
右部分木の最も左のノードは 60 なので、60 が 50 と置き換わり、元の位置からは取り除かれます。先行ノードを使えば 40 になります。
答え: H = 2520
オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。
答え: N = 1
次数:頂点の次数は、その頂点に接する辺の数です。どの辺にも端が 2 つあるので、次数の和は辺の数の 2 倍になります:Σ deg(v) = 2|E|(握手補題)。したがって、奇数次数の頂点の数は偶数です。Kn には n(n − 1)/2 本の辺があり、n 個の頂点をもつ k 正則グラフには nk/2 本、n 個の頂点をもつ木には n − 1 本の辺があります。
答え: D · 非キー属性間の推移的関数従属
3NF では、非キー属性が別の非キー属性に従属しません。たとえば、都市が郵便番号に従属するのに都市と郵便番号の両方を格納する場合がこれに当たります。
答え: D · 1, 1, 3
RANK は同点の行に同じ順位を与え、続く番号を飛ばします(1, 1, 3)。DENSE_RANK なら 1, 1, 2 になります。
答え: B · 要求されたリソースが見つからなかった
404 Not Found は、サーバーにその URL のリソースがないことを意味します。200 は OK、401 は Unauthorized、500 は Internal Server Error です。
答え: B · タイムアウトを待たずに、3 つの重複 ACK の後でセグメントを再送する
3 つの重複 ACK は 1 つのセグメントが失われたことを強く示すため、TCP はそれをすぐに再送します。再送タイマーを待つよりずっと速く回復できます。
答え: p = 21
IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。
答え: x = 151
IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。
ExamProblems · examproblems.com/courses/computer-science-fundamentals