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

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.
プライバシーポリシー利用規約特定商取引法に基づく表記運営お問い合わせフォーム
  1. 学習コンテンツ
  2. Coding InterviewCat
  3. ハッシュテーブル(導入)

ハッシュテーブル(導入)

配列の次に重要なデータ構造です。ハッシュテーブルは、キーと値の組み合わせを保管するためのデータ構造で、キーを用いて直接値にアクセスすることができます。ハッシュ関数を用いて、キーを特定のバケット(格納領域)に割り当て、そのバケットに値を格納します。これにより、大量のデータを迅速に検索したり、格納したりすることが可能になります。

特徴

  1. ハッシュ関数: ハッシュ関数は、入力としてキーを受け取り、ハッシュ値ここでは配列のインデックス(またはバケット)を生成します。この関数は全てのキーに対して一意のインデックスを生成することが理想的ですが、実際には異なるキーが同じインデックスにハッシュされる場合(ハッシュ衝突)があります。ハッシュ関数には様々実装がありますが、最もシンプルなものは配列(バケット)のサイズで余り(mod)を取る手法です。
  1. バケット: バケットは、キーと値のペアを格納するための領域です。ハッシュ関数によって生成されたインデックスを使って、特定のバケットにアクセスすることができます。
  1. 衝突解決策: 2つ以上のキーが同じインデックスにハッシュされる場合、ハッシュ衝突が発生します。ハッシュ衝突を解決するために、チェイン法 - Separate Chaining(同じインデックスに対応する要素を連結リストでつなげる)やオープンアドレス法 - Open Addressing(別のバケットに要素を格納する)などの方法があります。
notion image

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

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

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

非表示コンテンツ📝 4,620文字🖼️ 2枚の画像

Coding InterviewCat

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

価格¥29,800
配列と文字列(導入)ソート(導入)

目次

特徴