1.やさしい
グラフは何で構成されていますか。
- A行と列
- Bキーとハッシュ値のみ
- C辺(edge)で結ばれた頂点(vertex、ノード)
- D根と葉のみ
2.やさしい
スタックの一番上に要素を追加する操作の名前は何ですか。
- Aピーク(Peek)
- Bポップ(Pop)
- Cエンキュー(Enqueue)
- Dプッシュ(Push)
3.やさしい
静的配列と動的配列の主な違いは何ですか。
- A静的配列は数値しか格納できない
- B静的配列はインデックスによるアクセスが遅い
- C動的配列は、より大きなメモリブロックに移ることで拡張できる
- D動的配列は要素を連結されたノードに格納するので、1 つずつ拡張できる
4.ふつう
キーをソート済みの順序で挿入した場合、n 個のノードを持つ二分探索木の最悪の高さはいくつですか。
- An(連結リストのようになる)
- Blog₂ n
- C1
- D√n
5.ふつう
二分探索木のあるノードが右部分木をもっています。その通りがけ順での次のノード(後続ノード)はどこにありますか。
- A右部分木の最も左のノード
- B左部分木の最も右のノード
- C常にその右の子
- D常にその親
6.ふつう
二分探索木を中間順(in-order)でたどると、キーはどの順序で訪問されますか。
- A昇順
- B常に降順
- Cレベル順
- D挿入順
7.むずかしい
ある動的配列は満杯になるとサイズを 2 倍にします。多くの実装が、半分ではなく 4 分の 1 まで減ったときにだけ縮小するのはなぜですか。
- A半分で半減させると要素が失われるから
- B境界付近で push と pop が交互に起こるときに、サイズ変更が繰り返されるのを避けるため
- C配列をソートされた状態に保つため
- Dメモリアロケータはブロックの 4 分の 1 単位でしかメモリを解放できないから
8.むずかしい
標準的なブルームフィルタから、ビットをクリアするだけで要素を削除できないのはなぜですか。
- Aそれらのビットは他の要素にも属している可能性があり、偽陰性を引き起こすから
- Bブルームフィルタのビットは作成後に変更できないから
- C削除すると偽陽性率が 100% に上がるから
- Dブルームフィルタは要素全体を格納しており、いったんハッシュ化されると再び見つけられないから
解答
- 1. C · 辺(edge)で結ばれた頂点(vertex、ノード)
- 2. D · プッシュ(Push)
- 3. C · 動的配列は、より大きなメモリブロックに移ることで拡張できる
- 4. A · n(連結リストのようになる)
- 5. A · 右部分木の最も左のノード
- 6. A · 昇順
- 7. B · 境界付近で push と pop が交互に起こるときに、サイズ変更が繰り返されるのを避けるため
- 8. A · それらのビットは他の要素にも属している可能性があり、偽陰性を引き起こすから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。