markdown
DFS と BFS の基本
lecture/information/algorithm/search/DFSとBFSの基本-講義.n.md

DFS と BFS の基本きほん

date2026-03-27descriptionDFS と BFS を、探索順序の違いが何を見えやすくするかという観点から整理し、スタック・キューとの対応まで説明します。prerequisitesスタックとキューの基本 / 再帰の基本 / 探索の基本感覚type講義statusactiverelateddata/lecture/information/algorithm/data-structures/スタックとキューの基本-講義.n.md / data/lecture/information/algorithm/search/線形探索-講義.n.md
algorithmsearchundergraduatelecture

導入どうにゅう

この講義こうぎ最重要さいじゅうようなのは、DFS と BFS を「別々べつべつ手法しゅほう」でなく、どの順番じゅんばん候補こうほすかのちがいとしてることです。

探索たんさくでつまずきやすいのは、DFS と BFS の名前なまえだけをおぼえて、なぜ DFS はふかもぐり、BFS はちかじゅんひろがるのかがえないことです。この講義こうぎでは、スタックとキューのじゅんからそのちがいを説明せつめいします。

用語ようご定義ていぎ

DFSDepth-first search とは、現在地げんざいちからけるところをできるだけふかすす探索たんさくです。

BFSBreadth-first search とは、始点してんから距離きょりちかじゅん探索たんさくする方法ほうほうです。

方針ほうしん

まず DFS はスタック、BFS はキューとむすびつけます。そのあと、それぞれの探索順たんさくじゅんがどんな情報じょうほうやすいかを整理せいりします。

直感的ちょっかんてき説明せつめい

DFS は迷路めいろ一本いっぽんみちをどんどんすすみ、まりでもどうごきです。BFS は波紋はもんのように、始点してんから 1 、2 、3 外側そとがわひろがります。

厳密げんみつ説明せつめい

1. DFS

スタックや再帰さいき使つかうと、最後さいごつけた候補こうほからさき処理しょりします。だから、いまいる場所ばしょからさきすすめるだけすす探索たんさくになります。

2. BFS

キューを使つかうと、さきつけた候補こうほからじゅん処理しょりします。だから、始点してんから距離きょり 1 のてん全部ぜんぶてから、距離きょり 2 のてんすすみます。

3. 使つかいどころ

DFS は連結れんけつ確認かくにん全探索ぜんたんさく相性あいしょうがよく、BFS は最短手数さいたんてすう最短距離さいたんきょりもとめる問題もんだい相性あいしょうがよいです。

見分みわかた

  • 最短さいたんうなら、まず BFS をうたがいます。
  • 全部ぜんぶたどる、もどりながら調しらべる、というながれなら DFS をうたがいます。
  • スタックなら DFS、キューなら BFS という対応たいおう意識いしきすると整理せいりしやすいです。

最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")]DFSstack,BFS=queue[PARSE ERROR: Undefined("RBrace")]

一言ひとことでいうと

  • DFS と BFS のちがいは、探索対象たんさくたいしょうちがいではなく、候補こうほじゅんちがいです。
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
path をコピー
copy share link
copy share link
タブを全て閉じる