This commit is contained in:
krahets
2026-03-30 08:17:41 +08:00
parent 68cafe99dd
commit 46bccf0065
484 changed files with 60193 additions and 20315 deletions
+40 -40
View File
@@ -6,7 +6,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="アニメーション図解ワンクリック実行データ構造とアルゴリズムチュートリアル">
<meta name="description" content="アニメーション図解ワンクリック実行コードで学べるデータ構造とアルゴリズムの入門書">
<meta name="author" content="krahets">
@@ -39,7 +39,7 @@
<title>第 14 章 動的プログラミング - Hello アルゴリズム</title>
<title>第 14 章 動的計画法 - Hello アルゴリズム</title>
@@ -117,7 +117,7 @@
<path
d="M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z" />
</svg>
<span>日本語版審閱者を募集しています!詳細<a href="https://github.com/krahets/hello-algo/blob/main/ja/CONTRIBUTING.md">CONTRIBUTING.md</a>参照してください。</span>
<span>日本語版のレビュアーを募集しています。詳しく<a href="/ja/chapter_appendix/contribution/">こちら</a>ご覧ください。</span>
</div>
</div>
@@ -152,7 +152,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
第 14 章 &nbsp; 動的プログラミング
第 14 章 &nbsp; 動的計画法
</span>
</div>
@@ -341,7 +341,7 @@
<span class="md-ellipsis">
はじめに
@@ -358,7 +358,7 @@
<span class="md-nav__icon md-icon"></span>
はじめに
</label>
@@ -618,7 +618,7 @@
<span class="md-ellipsis">
1.1 &nbsp; アルゴリズムはどこにでもある
1.1 &nbsp; アルゴリズムは至るところにある
@@ -646,7 +646,7 @@
<span class="md-ellipsis">
1.2 &nbsp; アルゴリズムとは何か
1.2 &nbsp; アルゴリズムとは
@@ -783,7 +783,7 @@
<span class="md-ellipsis">
2.1 &nbsp; アルゴリズム効率評価
2.1 &nbsp; アルゴリズム効率評価
@@ -1060,7 +1060,7 @@
<span class="md-ellipsis">
3.3 &nbsp; 数値の符号化 *
3.3 &nbsp; 数値エンコーディング *
@@ -1088,7 +1088,7 @@
<span class="md-ellipsis">
3.4 &nbsp; 文字の符号化 *
3.4 &nbsp; 文字エンコーディング *
@@ -1591,7 +1591,7 @@
<span class="md-ellipsis">
第 6 章 &nbsp; ハッシュ
第 6 章 &nbsp; ハッシュテーブル
@@ -1613,7 +1613,7 @@
<span class="md-nav__icon md-icon"></span>
第 6 章 &nbsp; ハッシュ
第 6 章 &nbsp; ハッシュテーブル
</label>
@@ -1635,7 +1635,7 @@
<span class="md-ellipsis">
6.1 &nbsp; ハッシュ
6.1 &nbsp; ハッシュテーブル
@@ -1942,7 +1942,7 @@
<span class="md-ellipsis">
7.5 &nbsp; AVL木 *
7.5 &nbsp; AVL 木 *
@@ -2105,7 +2105,7 @@
<span class="md-ellipsis">
8.2 &nbsp; ヒープ構築操作
8.2 &nbsp; ヒープ構築
@@ -2491,7 +2491,7 @@
<span class="md-ellipsis">
10.2 &nbsp; 二分探索の挿入
10.2 &nbsp; 二分探索の挿入位置
@@ -2547,7 +2547,7 @@
<span class="md-ellipsis">
10.4 &nbsp; ハッシュ最適化戦略
10.4 &nbsp; ハッシュによる最適化戦略
@@ -2575,7 +2575,7 @@
<span class="md-ellipsis">
10.5 &nbsp; 探索アルゴリズムの再認識
10.5 &nbsp; 探索アルゴリズム再考
@@ -3113,7 +3113,7 @@
<span class="md-ellipsis">
12.1 &nbsp; 分割統治アルゴリズム
12.1 &nbsp; 分割統治
@@ -3169,7 +3169,7 @@
<span class="md-ellipsis">
12.3 &nbsp; 木の構築問題
12.3 &nbsp; 二分木の構築問題
@@ -3197,7 +3197,7 @@
<span class="md-ellipsis">
12.4 &nbsp; ハノイの塔問題
12.4 &nbsp; ハノイの塔問題
@@ -3390,7 +3390,7 @@
<span class="md-ellipsis">
13.3 &nbsp; 部分集合和問題
13.3 &nbsp; 部分和問題
@@ -3418,7 +3418,7 @@
<span class="md-ellipsis">
13.4 &nbsp; Nクイーン問題
13.4 &nbsp; n クイーン問題
@@ -3561,7 +3561,7 @@
<span class="md-ellipsis">
14.1 &nbsp; 動的計画法の初歩
14.1 &nbsp; 動的計画法入門
@@ -3589,7 +3589,7 @@
<span class="md-ellipsis">
14.2 &nbsp; DP 問題特性
14.2 &nbsp; 動的計画法の問題特性
@@ -3617,7 +3617,7 @@
<span class="md-ellipsis">
14.3 &nbsp; DP の解法の考え方
14.3 &nbsp; 動的計画法の問題解決の考え方
@@ -3645,7 +3645,7 @@
<span class="md-ellipsis">
14.4 &nbsp; 0-1ナップサック問題
14.4 &nbsp; 0-1 ナップサック問題
@@ -3838,7 +3838,7 @@
<span class="md-ellipsis">
15.1 &nbsp; 貪欲アルゴリズム
15.1 &nbsp; 貪欲
@@ -4083,7 +4083,7 @@
<span class="md-ellipsis">
16.2 &nbsp; 一緒に作に参加する
16.2 &nbsp; 一緒に作に参加しましょう
@@ -4273,19 +4273,19 @@
<!-- Page content -->
<h1 id="14">第 14 章 &nbsp; 動的プログラミング<a class="headerlink" href="#14" title="Permanent link">&para;</a></h1>
<p><img alt="動的プログラミング" class="cover-image" src="../assets/covers/chapter_dynamic_programming.jpg" /></p>
<h1 id="14">第 14 章 &nbsp; 動的計画法<a class="headerlink" href="#14" title="Permanent link">&para;</a></h1>
<p><img alt="動的計画法" class="cover-image" src="../assets/covers/chapter_dynamic_programming.jpg" /></p>
<div class="admonition abstract">
<p class="admonition-title">Abstract</p>
<p>川が流れて海に注ぐように、</p>
<p>動的プログラミングは小さな問題の解を織り合わせて、より大きな問題の解へと導きます。一歩一歩進んで、最終的な答えが待つ彼岸へと向かいます</p>
<p>小川は川へと注ぎ、河川は大海へと注ぐ。</p>
<p>動的計画法は小さな問題の解を集めて大きな問題の答えとし、一歩ずつ私たちを問題解決の彼岸へと導く</p>
</div>
<h2 id="_1">章の内容<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="intro_to_dynamic_programming/">14.1 &nbsp; 動的計画法の初歩</a></li>
<li><a href="dp_problem_features/">14.2 &nbsp; DP 問題特性</a></li>
<li><a href="dp_solution_pipeline/">14.3 &nbsp; DP の解法の考え方</a></li>
<li><a href="knapsack_problem/">14.4 &nbsp; 0-1ナップサック問題</a></li>
<li><a href="intro_to_dynamic_programming/">14.1 &nbsp; 動的計画法入門</a></li>
<li><a href="dp_problem_features/">14.2 &nbsp; 動的計画法の問題特性</a></li>
<li><a href="dp_solution_pipeline/">14.3 &nbsp; 動的計画法の問題解決の考え方</a></li>
<li><a href="knapsack_problem/">14.4 &nbsp; 0-1 ナップサック問題</a></li>
<li><a href="unbounded_knapsack_problem/">14.5 &nbsp; 完全ナップサック問題</a></li>
<li><a href="edit_distance_problem/">14.6 &nbsp; 編集距離問題</a></li>
<li><a href="summary/">14.7 &nbsp; まとめ</a></li>
@@ -4336,7 +4336,7 @@ aria-label="フッター"
<a
href="./intro_to_dynamic_programming/"
class="md-footer__link md-footer__link--next"
aria-label="次: 14.1 &amp;nbsp; 動的計画法の初歩"
aria-label="次: 14.1 &amp;nbsp; 動的計画法入門"
rel="next"
>
<div class="md-footer__title">
@@ -4344,7 +4344,7 @@ aria-label="フッター"
</span>
<div class="md-ellipsis">
14.1 &nbsp; 動的計画法の初歩
14.1 &nbsp; 動的計画法入門
</div>
</div>
<div class="md-footer__button md-icon">