【G検定対策】探索木の数え方

司会者: 「本日は『幅優先探索と深さ優先探索の数え方』にフォーカスします!特にG検定対策として、数え方をどう身につけるか、お二人の専門家に教えてもらいます。それでは、幅優先さんと深さ優先さん、よろしく!」


1. 幅優先探索(BFS)の数え方

幅優先探索: 「どうも、幅優先探索です!俺の数え方は超シンプル。『近場から順番に』進むだけ!とりあえず近いところを全員探してから、次にちょっと遠いところへ。」

お題:階段登りゲーム

  • ルール: 「まずは1段目に全員が立つ。次に、2段目、3段目と順番に上がっていく!」

  • 数え方: 「ある地点にたどり着くまで何段目で到達するか?それが俺のステップ数だ!」

ポイント:

  1. 最初に出発地点(根ノード)を数える。

  2. そこから広がるノードを順にレベルごとに数える。

  3. **目標地点が出てきたらストップ!それまでのステップが答えだ!」

オチ: 「俺は『階層ごとに数える』探査の几帳面お兄さんさ!」


2. 深さ優先探索(DFS)の数え方

深さ優先探索: 「オッス!俺は深さ優先探索!とにかく『進めるだけ進む』。行き止まりに着いたら戻って別の道を探すタイプさ!」

お題:迷路の一本道

  • ルール: 「まずは一本道をひたすら歩く。途中で袋小路に入ったら引き返す。でも絶対諦めないで別ルートを探る!」

  • 数え方: 「道を進むたびに『何歩目か』を記録して、ゴールしたらその数字を数えるだけ。」

ポイント:

  1. スタート地点から一直線に進む。

  2. ゴールにたどり着いたらステップ数をカウント。

  3. 行き止まりに戻るときはカウントせず、別ルートで再挑戦。

オチ: 「俺は『一本筋』の探査。歩きっぱなしで疲れるけど、ゴールの達成感は格別だぜ!」


3. 幅優先と深さ優先を区別する覚え方

お題:フードデリバリー

  • 幅優先探索: 「俺はピザ配達。家が近い順に配達する。時間効率重視!」

  • 深さ優先探索: 「俺は探検家。とりあえず一本の道を極めて、地の果てまで届けるスタイル!」

  • 観客: 「どっちも目的が違うから便利そう!」

  • オチ: 「俺たち、配達界の『効率派&冒険派』だな!」


4. G検定対策:数え方のコツ

幅優先探索(BFS)の数え方の手順

  1. レベルを意識!

    • 出発点を「0ステップ」として数え始める。

    • 最初のレベル(直近)は「1ステップ」。

    • その次のレベル(さらに遠い場所)は「2ステップ」。

  2. 階層を進むたびにステップを増やす!

    • 子ノードを処理したら次の階層に進む。

    • 「ここだ!」とゴールに到達したら、そのレベルが答え。

深さ優先探索(DFS)の数え方の手順

  1. ゴールを目指してひたすら進む!

    • 出発点を「0」として、進むたびに「+1」。

    • 行き止まりに戻るときはステップをカウントせず次のルート。

  2. 探索が完了したら最小のステップ数をチェック!

    • 複数ルートがある場合、一番少ないステップ数が答え。

オチ: 「BFSは『階層を意識して数える』。DFSは『一歩ずつ歩みながらゴールを探す』だ!」


5. キャッチコピーで覚える!

  1. 幅優先探索: 「横一列ずつ広がる波、レベルがカギ!」

  2. 深さ優先探索: 「一本道を突き進む探検家、歩数に注目!」

  3. G検定攻略: 「数え方を意識すればステップ問題も楽勝!」


6. 練習問題を楽しむ方法

お題:階段競争

  • 幅優先探索: 「近場から一段ずつ広がっていく階段の旅!」

  • 深さ優先探索: 「まずはとにかく一直線に駆け上がる階段の旅!」

司会者: 「幅優先探索と深さ優先探索の数え方をマスターしたら、次回は実際にG検定の過去問に挑戦してみましょう!」
観客: 「ブラボー!」 🎉

いいなと思ったら応援しよう!