学習コンテンツテック企業求人ブログ面接対策サポート

Coding InterviewCat

トップ

01 Coding InterviewCat

はじめに

02 イントロダクション03 Coding InterviewCat対象読者

コーディング面接対策とロードマップ

04 企業ごとの対策のレベル感05 コーディング面接に対する心構え06 コーディング面接対策ロードマップ

Python基礎と計算量

07 コーディング面接で必要なPythonの学習08 計算量とBig O

Discordサポートについて

09 Discordサポート(購入者特典)

本書掲載のLeetCode問題集

10 本書に掲載されているLeetCode問題集

配列 / 文字列

11 配列と文字列(導入)12 ハッシュテーブル(導入)13 ソート(導入)14 スタック(導入)15 配列 / 文字列(基礎)二重ループ16 配列 / 文字列(基礎)ハッシュテーブル17 配列 / 文字列(基礎)ソート, カスタムソート, バケットソート18 配列 / 文字列(基礎)行列 2D Matrix19 配列 / 文字列(基礎)スタック20 配列 / 文字列(応用)累積和(Prefix Sum)21 配列 / 文字列(応用)Two Pointers22 配列 / 文字列(応用)Sliding Window23 配列 / 文字列(応用)In-place Counting, Negative Marking24 配列 / 文字列(応用)Quickselect

ヒープ / 優先度付きキュー

25 ヒープ / 優先度付きキュー(導入)26 ヒープ / 優先度付きキュー(基礎) heapify, heappush, heappop27 ヒープ / 優先度付きキュー(基礎)ヒープソート

再帰呼び出し / バックトラック法

28 再帰呼び出し / バックトラック法(導入)29 再帰呼び出し / バックトラック法(基礎)再帰30 再帰呼び出し / バックトラック法(応用)バックトラック

連結リスト

31 連結リスト(導入)32 連結リスト(基礎)リスト走査33 連結リスト(基礎)ノード削除34 連結リスト(基礎)リスト反転35 連結リスト(基礎) 複数のリスト走査36 連結リスト(応用) Two Pointers, Slow/Fast Pointers37 連結リスト(応用) 双方向リスト38 キュー(導入)

二分探索

39 二分探索(基礎)値の探索, 境界の探索40 二分探索(基礎)下界, 上界41 二分探索(応用)答えの決めうち二分探索, 最長部分増加列42 二分探索(発展)2D 最長部分増加列

二分木

43 二分木(導入)44 二分木(基礎)BFS, DFS45 二分木(基礎)巡回, 二分探索木46 二分木(応用)二分木の再構築, 二分木のシリアライズ

グラフ

47 グラフ(導入)48 グラフ(基礎)BFS, DFS49 グラフ(基礎)二次元配列50 グラフ(基礎)ダイクストラ51 グラフ(基礎)トポロジカルソート52 グラフ(応用)木の直径, 強連結成分, 関節点 & 橋53 グラフ(応用)Unionfind, 最小全域木54 グラフ(応用)Warshall-Floyd, 0-1 BFS55 グラフ(発展)グラフDP

動的計画法

56 動的計画法(導入)57 動的計画法(基礎)貰うDP, 配るDP58 動的計画法(基礎)”まで”を状態として扱う, 状態の拡張59 動的計画法(基礎)二次元状態DP60 動的計画法(応用)グラフDP, メモ化再帰DP61 動的計画法(応用)辞書で状態を管理, bitで状態を管理62 動的計画法(応用)2つのDP, 絶対値DP, ゲームDP63 動的計画法(発展)スタックとDP, 累積和とDP
64 [Coming Soon] Bit Manipulation65 [Coming Soon] 貪欲法66 [Coming Soon] トライ木、サフィックス木67 [Coming Soon] Intervals68 [Coming Soon] 数学
© 2026 InterviewCat. All rights reserved.
プライバシーポリシー利用規約特定商取引法に基づく表記運営お問い合わせフォーム
🧑‍💻
Coding InterviewCat
/
📖
二分木(基礎)BFS, DFS
📖

二分木(基礎)BFS, DFS

LeetCode 練習問題集

問題
難易度
重要度
テクニック
Binary Tree Level Order Traversal
★★
高
Breadth First Search, BFS(幅優先探索)
Maximum Level Sum of a Binary Tree
★★★
高
Breadth First Search, BFS(幅優先探索)
Binary Tree Right Side View
★★★
中
Breadth First Search, BFS(幅優先探索)
Count Good Nodes in Binary Tree
★★★
高
Depth First Search, DFS(深さ優先探索)
Diameter of Binary Tree
★★★
高
Depth First Search, DFS(深さ優先探索)
Maximum Depth of Binary Tree
★★
高
Depth First Search, DFS(深さ優先探索)
Invert Binary Tree
★★
高
Depth First Search, DFS(深さ優先探索)
Balanced Binary Tree
★★
高
Depth First Search, DFS(深さ優先探索)
Same Tree
★★
高
Depth First Search, DFS(深さ優先探索)
Subtree of Another Tree
★★
高
Depth First Search, DFS(深さ優先探索)
Lowest Common Ancestor of a Binary Search Tree
★★★
高
Depth First Search, DFS(深さ優先探索)
Binary Tree Maximum Path Sum
★★★★
高
Depth First Search, DFS(深さ優先探索)
事前に必要な知識
  • 配列、キュー、スタック
  • 再帰関数
本章ではBreadth First Search, BFS(幅優先探索)、 Depth First Search, DFS(深さ優先探索)の2つの探索について説明します。先に探索(Search)とは何をすることかついて説明します。簡単にいうとグラフ上のノードとエッジを通りながらグラフの構造を把握していくことです。二分木の問題では一般的にノードのクラス(構造体)は以下のコードのように事前に定義されています。そして問題では基本的に根のノードしか与えられません。 (...はEllipsisと呼ばれる省略を表すPythonの組み込み定数です。公式ドキュメントから参照できます。)

全て読むには購入が必要です

このコンテンツを全て読むには購入が必要です

購入すると、このコンテンツの全ページにアクセスできるようになります。

非表示コンテンツ📝 21,604文字🖼️ 23枚の画像

Coding InterviewCat

Coding InterviewCatはコーディング面接に特化した教材です。コーディング面接に必要なPythonの学習、基本的なデータ構造とアルゴリズムとLeetCode効率的に学習する上での教材を用意しています。

価格¥29,800
# ノードのクラス(構造体) class Node: def __init__(self, val, left=None, right=None): # ノードの値 self.val = val # 左の子ノード self.left = left # 右の子ノード self.right = right # 基本的には根しか与えられない def question(root: Node): ...