LeetCode 練習問題集
問題 | 難易度 | 重要度 | テクニック |
★★ | 高 | Breadth First Search, BFS(幅優先探索) | |
★★★ | 高 | Breadth First Search, BFS(幅優先探索) | |
★★★ | 中 | Breadth First Search, BFS(幅優先探索) | |
★★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★★ | 高 | Depth First Search, DFS(深さ優先探索) | |
★★★★ | 高 | Depth First Search, DFS(深さ優先探索) |
事前に必要な知識
- 配列、キュー、スタック
- 再帰関数
本章ではBreadth First Search, BFS(幅優先探索)、 Depth First Search, DFS(深さ優先探索)の2つの探索について説明します。先に探索(Search)とは何をすることかついて説明します。簡単にいうとグラフ上のノードとエッジを通りながらグラフの構造を把握していくことです。二分木の問題では一般的にノードのクラス(構造体)は以下のコードのように事前に定義されています。そして問題では基本的に根のノードしか与えられません。 (
...
はEllipsisと呼ばれる省略を表すPythonの組み込み定数です。公式ドキュメントから参照できます。)