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

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. 連結リスト(導入)

連結リスト(導入)

配列は固定長で連続してメモリ上に並ぶ故に生じるデメリットである
  • 途中でサイズを変更する事が難しい(動的配列なら可能)
  • 配列の途中のインデックスに要素を追加する際、それ以降の要素を全てシフトさせなければならない
などのデメリットがあります。これに対する解決策の一つとして連結リスト(Linked List)があります。

特徴

  • 各要素(ノード)はメモリ上の任意の位置に配置され、次の要素へのポインタ(リンク)によって連結されます
  • ノードはval(値)とnext(次の要素へのポインタ)の2つで構成されます
  • 先頭の要素をhead、最後の要素をtailと表す事が多いです
  • 任意の要素へのアクセスには、リストの先頭から始めて該当の要素に到達するまで各要素を順に辿らなければならないため、時間がかかることがあります(の時間計算量)
  • 新しい要素の追加や既存の要素の削除は、リンクを調整するだけで高速に行うことができます(の時間計算量、ただし要素を挿入または削除する位置を探すためには、リスト内を走査する必要があるため、実際にはの時間がかかる場合があります)
  • 連結リストのサイズは動的であり、新しい要素を追加したり既存の要素を削除したりすることで変更できます
notion image

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

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

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

非表示コンテンツ📝 3,711文字🖼️ 5枚の画像

Coding InterviewCat

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

価格¥29,800
再帰呼び出し / バックトラック法(応用)バックトラック連結リスト(基礎)リスト走査

目次

特徴