章末確認チェック
使い方
各章を読んだ後、該当する確認問題を解いてください。各章10点満点です。8点以上を通過、6〜7点を要復習、5点以下を再学習とします。
解答は短くてよいですが、定義を問う問題では用語だけでなく条件まで書いてください。
第1章 集合と論理
A ⊆ Bの定義を量化記号で書け。A = {1,2,3},B = {3,4}のときA∪B,A∩B,A\Bを求めよ。¬(P∧Q)を書き換えよ。¬(∀x∈S, P(x))を書き換えよ。P→Qの対偶を書け。P→QとQ→Pが同値ではない例を作れ。- 全称命題を反例で否定できる理由を説明せよ。
∅と{∅}の違いを説明せよ。- 冪集合
P({a,b})を列挙せよ。 P→Qが偽になる真理値の組を答えよ。
通過条件: 量化の否定と対偶で誤りがないこと。
第2章 関数と関係
- 関数
f:A→Bの定義域と終域を答えよ。 - 単射の定義を書け。
- 全射の定義を書け。
- 全単射が存在するために有限集合では何が必要か。
- 同値関係の3条件を挙げよ。
- 半順序の3条件を挙げよ。
aRb ⇔ a-bが偶数、は整数上の同値関係か。- 同値類とは何か。
- 半順序と全順序の違いを説明せよ。
- 到達可能性が一般に同値関係でない理由を述べよ。
通過条件: 同値関係と半順序の条件を混同しないこと。
第3章 証明技法
- 直接証明の型を書け。
- 対偶証明で証明する命題の形を書け。
- 背理法の型を書け。
- 数学的帰納法の2ステップを書け。
- 強い帰納法を使う場面を説明せよ。
- 構造帰納法を使う対象を1つ挙げよ。
- 「偶数の平方は偶数」を直接証明せよ。
- 「
n^2が偶数ならnは偶数」を対偶で証明せよ。 1+...+n=n(n+1)/2の帰納法の仮定を書け。- 反例が全称命題を否定する理由を説明せよ。
通過条件: 証明が例示だけで終わっていないこと。
第4章 漸近記法
f(n)=O(g(n))の定義を書け。f(n)=Ω(g(n))の定義を書け。f(n)=Θ(g(n))の定義を書け。5n^2+3n+1 = O(n^2)を定義から示せ。log n,n,n log n,n^2,2^nを小さい順に並べよ。- 単一ループ
1..nの時間計算量を答えよ。 - 二重ループ
1..n,1..nの時間計算量を答えよ。 j=1; while j<n: j=2jの時間計算量を答えよ。- 二分探索が
O(log n)である理由を説明せよ。 O(n)とΘ(n)の違いを説明せよ。
通過条件: 定義で c と n0 を落とさないこと。
第5章 擬似コードと再帰
- 線形探索の擬似コードを書け。
- 二分探索が使える入力条件を述べよ。
- 階乗再帰の基底条件を書け。
- 再帰関数が停止するために必要な2条件を述べよ。
- ループ不変条件とは何か。
- 配列とリストの違いを説明せよ。
- スタックとキューの違いを説明せよ。
- 再帰呼び出しでスタックが増える理由を説明せよ。
returnの役割を説明せよ。- 仕様と実装の違いを説明せよ。
通過条件: 停止性を「いつか止まる」ではなく、減少量と基底条件で説明すること。
第6章 グラフと木
- 無向グラフを
G=(V,E)で定義せよ。 - 有向グラフでは辺集合をどう表すか。
- パスと閉路の違いを説明せよ。
- 木の定義を1つ述べよ。
n頂点の木の辺数を答えよ。- 連結性とは何か。
- 到達可能性とは何か。
- BFS と DFS の違いを説明せよ。
- DAG とは何か。
- トポロジカルソート可能な条件を述べよ。
通過条件: グラフを図ではなく集合で説明できること。
第7章 組合せと数え上げ
- 積の法則を説明せよ。
- 和の法則を説明せよ。
- 長さ
nのビット列の個数を答えよ。 n要素集合の部分集合数を答えよ。1がちょうどk個の長さnビット列の個数を答えよ。C(n,k)=C(n,n-k)を説明せよ。- 鳩ノ巣原理を述べよ。
- 包除原理を2集合の場合で書け。
- 命題変数
n個の真理値割当数を答えよ。 - 状態数を数えるときに重複を避ける方法を説明せよ。
通過条件: 重複あり・なしの区別を説明できること。
第8章 データ構造と基本アルゴリズム
- ADT と実装の違いを説明せよ。
- スタックの代表操作を2つ書け。
- キューの代表操作を2つ書け。
- ハッシュ表の平均検索が
O(1)になる理由を説明せよ。 - ヒープで最小値削除が
O(log n)になる理由を説明せよ。 - 隣接行列のメモリ量を答えよ。
- 隣接リストのメモリ量を答えよ。
- BFS の計算量を隣接リスト前提で答えよ。
- Union-Find が扱う代表的な問題を説明せよ。
- 動的計画法の状態と遷移を説明せよ。
通過条件: データ構造の操作仕様と内部実装を混同しないこと。
第9章 形式言語の入口
- アルファベット
Σとは何か。 Σ*とは何か。εと∅の違いを説明せよ。- 言語とは何か。
L={0^n1^n | n≥0}の要素を3つ挙げよ。- DFA の5要素を書け。
- DFA の遷移関数の型を書け。
- NFA の非決定性が確率でない理由を説明せよ。
- 文法における非終端記号とは何か。
- 判定問題を言語として表すとは何か。
通過条件: ε と ∅ を混同しないこと。
第10章 確率の基礎
- 標本空間とは何か。
- 事象とは何か。
Pr[A|B]の定義を書け。- 独立性を
Pr[A∩B]で定義せよ。 - 排反と独立の違いを説明せよ。
- 確率変数を関数として説明せよ。
- 期待値の線形性を書け。
- 指示変数
I_Aの期待値を答えよ。 - 二項分布が現れる条件を述べよ。
- Markov不等式の直観を述べよ。
通過条件: 条件付き確率と独立性を混同しないこと。
第11章 数論・代数の基礎
gcd(84,30)を求めよ。a≡b (mod n)の定義を書け。mod nにおける逆元の定義を書け。- 逆元が存在する条件を述べよ。
- Euclid互除法の停止理由を説明せよ。
- 群の4条件を挙げよ。
- 巡回群とは何か。
- 生成元とは何か。
- 体とは何か。
- 離散対数問題の形を説明せよ。
通過条件: 合同算術を通常の等式と混同しないこと。
第12章 線形代数の最小限
m×n行列が写すベクトル空間の次元を答えよ。- 行列積
ABが定義できる条件を書け。 - 単位行列の役割を説明せよ。
- 線形写像とは何か。
- 線形独立の定義を書け。
- ランクを説明せよ。
F_2で1+1を計算せよ。- Hamming距離を定義せよ。
- 生成行列の役割を説明せよ。
- 検査行列の役割を説明せよ。
通過条件: 次元の整合性を確認できること。
第13章 並行性と形式モデルの入口
- 状態遷移システム
T=(S,→,s0)の3要素を説明せよ。 - 非決定性と確率の違いを説明せよ。
- trace とは何か。
- safety を説明せよ。
- liveness を説明せよ。
- invariant を説明せよ。
- 共有メモリモデルの特徴を述べよ。
- メッセージパッシングモデルの特徴を述べよ。
- happens-before の直観を説明せよ。
- 合意問題の3条件を挙げよ。
通過条件: safety と liveness を反例の形で区別できること。