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
+55 -55
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>16.2 コントリビューション - Hello アルゴリズム</title>
<title>16.2 一緒に制作に参加しましょう - 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">
16.2 &nbsp; コントリビューション
16.2 &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 クイーン問題
@@ -3559,7 +3559,7 @@
<span class="md-ellipsis">
14.1 &nbsp; 動的計画法の初歩
14.1 &nbsp; 動的計画法入門
@@ -3587,7 +3587,7 @@
<span class="md-ellipsis">
14.2 &nbsp; DP 問題特性
14.2 &nbsp; 動的計画法の問題特性
@@ -3615,7 +3615,7 @@
<span class="md-ellipsis">
14.3 &nbsp; DP の解法の考え方
14.3 &nbsp; 動的計画法の問題解決の考え方
@@ -3643,7 +3643,7 @@
<span class="md-ellipsis">
14.4 &nbsp; 0-1ナップサック問題
14.4 &nbsp; 0-1 ナップサック問題
@@ -3836,7 +3836,7 @@
<span class="md-ellipsis">
15.1 &nbsp; 貪欲アルゴリズム
15.1 &nbsp; 貪欲
@@ -4092,7 +4092,7 @@
<span class="md-ellipsis">
16.2 &nbsp; 一緒に作に参加する
16.2 &nbsp; 一緒に作に参加しましょう
@@ -4110,7 +4110,7 @@
<span class="md-ellipsis">
16.2 &nbsp; 一緒に作に参加する
16.2 &nbsp; 一緒に作に参加しましょう
@@ -4151,7 +4151,7 @@
<a href="#2" class="md-nav__link">
<span class="md-ellipsis">
2. &nbsp; 内容の作成
2. &nbsp; コンテンツ制作
</span>
</a>
@@ -4162,7 +4162,7 @@
<a href="#3-docker" class="md-nav__link">
<span class="md-ellipsis">
3. &nbsp; Dockerデプロイメント
3. &nbsp; Docker デプロイ
</span>
</a>
@@ -4321,7 +4321,7 @@
<a href="#2" class="md-nav__link">
<span class="md-ellipsis">
2. &nbsp; 内容の作成
2. &nbsp; コンテンツ制作
</span>
</a>
@@ -4332,7 +4332,7 @@
<a href="#3-docker" class="md-nav__link">
<span class="md-ellipsis">
3. &nbsp; Dockerデプロイメント
3. &nbsp; Docker デプロイ
</span>
</a>
@@ -4376,39 +4376,39 @@
<!-- Page content -->
<h1 id="162">16.2 &nbsp; コントリビューション<a class="headerlink" href="#162" title="Permanent link">&para;</a></h1>
<p>著者の力に限りがあるため、本書にはいくつかの省略や誤りが避けられません。ご理解をお願いします。誤字、リンク切れ、内容の欠落、文章の曖昧さ、説明の不明さ、または不合理な文章構造を発見された場合は、読者により良質な学習リソースを提供するため、修正にご協力ください</p>
<p>すべての<a href="https://github.com/krahets/hello-algo/graphs/contributors">コントリビューター</a>のGitHub IDは、本書のリポジトリ、ウェブ、PDFバージョンのホームページに表示され、オープンソースコミュニティへの無私の貢献に感謝いたします。</p>
<h1 id="162">16.2 &nbsp; 一緒に制作に参加しましょう<a class="headerlink" href="#162" title="Permanent link">&para;</a></h1>
<p>著者の力に限りがあるため、本書にはどうしても一部の漏れや誤りが含まれる可能性があります。ご了承ください。誤字、リンク切れ、内容の欠落、表現の曖昧さ、説明の不明さ、文章構成の不適切さなどの問題を見つけた場合は、ぜひ修正にご協力ください。読者により良学習リソースを提供できます。</p>
<p>すべての<a href="https://github.com/krahets/hello-algo/graphs/contributors">寄稿者</a> GitHub ID は、本書のリポジトリ、Web 版、PDF 版のホームページに掲載され、オープンソースコミュニティへの惜しみない貢献に感謝を表します。</p>
<div class="admonition success">
<p class="admonition-title">オープンソースの魅力</p>
<p>紙の本の2つの印刷版の間隔はしばしば長く、内容更新非常に不便です。</p>
<p>しかし、このオープンソースの本では、内容更新サイクルは数日、さらには数時間に短縮されます。</p>
<p>紙の書籍では、2 回の増刷の間隔が長くなりがちで、内容更新非常に不便です。</p>
<p>一方、このオープンソース書籍では、内容更新サイクルは数日、場合によっては数時間にまで短縮されています。</p>
</div>
<h3 id="1">1. &nbsp; 内容の微調整<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
<p>下の図に示すように、各ページの右上に「編集アイコン」があります。以下の手順に従ってテキストやコードを修正できます。</p>
<p>下の図ように、各ページの右上に「編集アイコン」があります。の手順で本文やコードを修正できます。</p>
<ol>
<li>「編集アイコン」をクリックします。「このリポジトリをフォークします」とされた場合は、同意してください。</li>
<li>Markdownソースファイルの内容を修正し、内容の正確性を確認し、フォーマットの一貫性を保つようにしてください。</li>
<li>ページ下部修正説明を記入し、「Propose file change」ボタンをクリックします。ページがリダイレクトされた後、「Create pull request」ボタンをクリックしてプルリクエストを開始します。</li>
<li>「編集アイコン」をクリックし「このリポジトリを Fork する必要があります」と表示された場合は、その操作を承認してください。</li>
<li>Markdownソースファイルを修正し、内容が正しいことを確認したうえで、できるだけ書式の統一を保ってください。</li>
<li>ページ下部修正内容の説明を入力し、その後「Propose file change」ボタンをクリックします。ページ遷移後、「Create pull request」ボタンをクリックするとプルリクエストを作成できます。</li>
</ol>
<p><img alt="ページ編集ボタン" class="animation-figure" src="../contribution.assets/edit_markdown.png" /></p>
<p align="center"> 図 16-3 &nbsp; ページ編集ボタン </p>
<p>は直接修正できないため、新しい<a href="https://github.com/krahets/hello-algo/issues">Issue</a>を作成するか、問題を説明するコメントが必要です。できるだけ早く図を再描画して置き換えます。</p>
<h3 id="2">2. &nbsp; 内容の作成<a class="headerlink" href="#2" title="Permanent link">&para;</a></h3>
<p>このオープンソースプロジェクトへの参加に興味がある場合、コードを他のプログラミング言語翻訳したり、記事内容を拡張したりすることを含めて、以下のプルリクエストワークフローを実装する必要があります</p>
<p>画像は直接修正できないため、新しい <a href="https://github.com/krahets/hello-algo/issues">Issue</a> を作成するかコメントで問題を説明してください。できるだけ早く描き直して差し替えます。</p>
<h3 id="2">2. &nbsp; コンテンツ制作<a class="headerlink" href="#2" title="Permanent link">&para;</a></h3>
<p>コードを他のプログラミング言語翻訳することや、記事内容を拡充することなど、このオープンソースプロジェクトへの参加に興味がある場合は、以下の Pull Request ワークフローに従ってください</p>
<ol>
<li>GitHubにログインし、本書の<a href="https://github.com/krahets/hello-algo">コードリポジトリ</a>を個人アカウントにフォークします。</li>
<li>フォークしたリポジトリのウェブページに移動し<code>git clone</code>コマンドを使用してリポジトリをローカルマシンにクローンします。</li>
<li>ローカルで内容を作成し、完全なテストを実行してコードの正確性を検証します。</li>
<li>ローカルで行った変更をコミットし、リモートリポジトリにプッシュします。</li>
<li>リポジトリのウェブページを更新し、「Create pull request」ボタンをクリックしてプルリクエストを開始します。</li>
<li>GitHub にログインし、本書の<a href="https://github.com/krahets/hello-algo">コードリポジトリ</a>を個人アカウントに Fork します。</li>
<li>Fork したリポジトリのページに入り<code>git clone</code> コマンドを使てリポジトリをローカルにクローンします。</li>
<li>ローカルでコンテンツを作成し、完全なテストを行ってコードの正しさを確認します。</li>
<li>ローカルで行った変更を Commit し、その後リモートリポジトリへ Push します。</li>
<li>リポジトリのページを更新し、「Create pull request」ボタンをクリックするとプルリクエストを作成できます。</li>
</ol>
<h3 id="3-docker">3. &nbsp; Dockerデプロイメント<a class="headerlink" href="#3-docker" title="Permanent link">&para;</a></h3>
<p><code>hello-algo</code>ルートディレクトリで以下のDockerスクリプトを実行して<code>http://localhost:8000</code>プロジェクトにアクセスます</p>
<h3 id="3-docker">3. &nbsp; Docker デプロイ<a class="headerlink" href="#3-docker" title="Permanent link">&para;</a></h3>
<p><code>hello-algo</code>ルートディレクトリで以下の Docker スクリプトを実行すると、<code>http://localhost:8000</code> で本プロジェクトにアクセスできます</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<p>以下のコマンドを使用してデプロイメントを削除ます</p>
<p>以下のコマンドデプロイを削除できます</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>docker-compose<span class="w"> </span>down
</code></pre></div>
+29 -29
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">
@@ -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>
@@ -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 クイーン問題
@@ -3559,7 +3559,7 @@
<span class="md-ellipsis">
14.1 &nbsp; 動的計画法の初歩
14.1 &nbsp; 動的計画法入門
@@ -3587,7 +3587,7 @@
<span class="md-ellipsis">
14.2 &nbsp; DP 問題特性
14.2 &nbsp; 動的計画法の問題特性
@@ -3615,7 +3615,7 @@
<span class="md-ellipsis">
14.3 &nbsp; DP の解法の考え方
14.3 &nbsp; 動的計画法の問題解決の考え方
@@ -3643,7 +3643,7 @@
<span class="md-ellipsis">
14.4 &nbsp; 0-1ナップサック問題
14.4 &nbsp; 0-1 ナップサック問題
@@ -3836,7 +3836,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; 一緒に作に参加しましょう
@@ -4278,7 +4278,7 @@
<h2 id="_1">章の内容<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="installation/">16.1 &nbsp; プログラミング環境のインストール</a></li>
<li><a href="contribution/">16.2 &nbsp; 一緒に作に参加する</a></li>
<li><a href="contribution/">16.2 &nbsp; 一緒に作に参加しましょう</a></li>
<li><a href="terminology/">16.3 &nbsp; 用語集</a></li>
</ul>
+97 -97
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>16.1 インストール - Hello アルゴリズム</title>
<title>16.1 プログラミング環境のインストール - 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">
16.1 &nbsp; インストール
16.1 &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 クイーン問題
@@ -3559,7 +3559,7 @@
<span class="md-ellipsis">
14.1 &nbsp; 動的計画法の初歩
14.1 &nbsp; 動的計画法入門
@@ -3587,7 +3587,7 @@
<span class="md-ellipsis">
14.2 &nbsp; DP 問題特性
14.2 &nbsp; 動的計画法の問題特性
@@ -3615,7 +3615,7 @@
<span class="md-ellipsis">
14.3 &nbsp; DP の解法の考え方
14.3 &nbsp; 動的計画法の問題解決の考え方
@@ -3643,7 +3643,7 @@
<span class="md-ellipsis">
14.4 &nbsp; 0-1ナップサック問題
14.4 &nbsp; 0-1 ナップサック問題
@@ -3836,7 +3836,7 @@
<span class="md-ellipsis">
15.1 &nbsp; 貪欲アルゴリズム
15.1 &nbsp; 貪欲
@@ -4112,7 +4112,7 @@
<a href="#1611-ide" class="md-nav__link">
<span class="md-ellipsis">
16.1.1 &nbsp; IDEのインストール
16.1.1 &nbsp; IDE のインストール
</span>
</a>
@@ -4135,7 +4135,7 @@
<a href="#1-python" class="md-nav__link">
<span class="md-ellipsis">
1. &nbsp; Python環境
1. &nbsp; Python 環境
</span>
</a>
@@ -4146,7 +4146,7 @@
<a href="#2-cc" class="md-nav__link">
<span class="md-ellipsis">
2. &nbsp; C/C++環境
2. &nbsp; C/C++ 環境
</span>
</a>
@@ -4157,7 +4157,7 @@
<a href="#3-java" class="md-nav__link">
<span class="md-ellipsis">
3. &nbsp; Java環境
3. &nbsp; Java 環境
</span>
</a>
@@ -4168,7 +4168,7 @@
<a href="#4-c" class="md-nav__link">
<span class="md-ellipsis">
4. &nbsp; C#環境
4. &nbsp; C# 環境
</span>
</a>
@@ -4179,7 +4179,7 @@
<a href="#5-go" class="md-nav__link">
<span class="md-ellipsis">
5. &nbsp; Go環境
5. &nbsp; Go 環境
</span>
</a>
@@ -4190,7 +4190,7 @@
<a href="#6-swift" class="md-nav__link">
<span class="md-ellipsis">
6. &nbsp; Swift環境
6. &nbsp; Swift 環境
</span>
</a>
@@ -4201,7 +4201,7 @@
<a href="#7-javascript" class="md-nav__link">
<span class="md-ellipsis">
7. &nbsp; JavaScript環境
7. &nbsp; JavaScript 環境
</span>
</a>
@@ -4212,7 +4212,7 @@
<a href="#8-typescript" class="md-nav__link">
<span class="md-ellipsis">
8. &nbsp; TypeScript環境
8. &nbsp; TypeScript 環境
</span>
</a>
@@ -4223,7 +4223,7 @@
<a href="#9-dart" class="md-nav__link">
<span class="md-ellipsis">
9. &nbsp; Dart環境
9. &nbsp; Dart 環境
</span>
</a>
@@ -4234,7 +4234,7 @@
<a href="#10-rust" class="md-nav__link">
<span class="md-ellipsis">
10. &nbsp; Rust環境
10. &nbsp; Rust 環境
</span>
</a>
@@ -4269,7 +4269,7 @@
<span class="md-ellipsis">
16.2 &nbsp; 一緒に作に参加する
16.2 &nbsp; 一緒に作に参加しましょう
@@ -4415,7 +4415,7 @@
<a href="#1611-ide" class="md-nav__link">
<span class="md-ellipsis">
16.1.1 &nbsp; IDEのインストール
16.1.1 &nbsp; IDE のインストール
</span>
</a>
@@ -4438,7 +4438,7 @@
<a href="#1-python" class="md-nav__link">
<span class="md-ellipsis">
1. &nbsp; Python環境
1. &nbsp; Python 環境
</span>
</a>
@@ -4449,7 +4449,7 @@
<a href="#2-cc" class="md-nav__link">
<span class="md-ellipsis">
2. &nbsp; C/C++環境
2. &nbsp; C/C++ 環境
</span>
</a>
@@ -4460,7 +4460,7 @@
<a href="#3-java" class="md-nav__link">
<span class="md-ellipsis">
3. &nbsp; Java環境
3. &nbsp; Java 環境
</span>
</a>
@@ -4471,7 +4471,7 @@
<a href="#4-c" class="md-nav__link">
<span class="md-ellipsis">
4. &nbsp; C#環境
4. &nbsp; C# 環境
</span>
</a>
@@ -4482,7 +4482,7 @@
<a href="#5-go" class="md-nav__link">
<span class="md-ellipsis">
5. &nbsp; Go環境
5. &nbsp; Go 環境
</span>
</a>
@@ -4493,7 +4493,7 @@
<a href="#6-swift" class="md-nav__link">
<span class="md-ellipsis">
6. &nbsp; Swift環境
6. &nbsp; Swift 環境
</span>
</a>
@@ -4504,7 +4504,7 @@
<a href="#7-javascript" class="md-nav__link">
<span class="md-ellipsis">
7. &nbsp; JavaScript環境
7. &nbsp; JavaScript 環境
</span>
</a>
@@ -4515,7 +4515,7 @@
<a href="#8-typescript" class="md-nav__link">
<span class="md-ellipsis">
8. &nbsp; TypeScript環境
8. &nbsp; TypeScript 環境
</span>
</a>
@@ -4526,7 +4526,7 @@
<a href="#9-dart" class="md-nav__link">
<span class="md-ellipsis">
9. &nbsp; Dart環境
9. &nbsp; Dart 環境
</span>
</a>
@@ -4537,7 +4537,7 @@
<a href="#10-rust" class="md-nav__link">
<span class="md-ellipsis">
10. &nbsp; Rust環境
10. &nbsp; Rust 環境
</span>
</a>
@@ -4586,71 +4586,71 @@
<!-- Page content -->
<h1 id="161">16.1 &nbsp; インストール<a class="headerlink" href="#161" title="Permanent link">&para;</a></h1>
<h2 id="1611-ide">16.1.1 &nbsp; IDEのインストール<a class="headerlink" href="#1611-ide" title="Permanent link">&para;</a></h2>
<p>ローカルの統合開発環境(IDE)として、オープンソースで軽量なVS Code使用することをお勧めします。<a href="https://code.visualstudio.com/">VS Code公式ウェブサイト</a>にアクセスし、お使いのオペレーティングシステムに適したVS Codeのバージョンを選択してダウンロードしインストールしてください。</p>
<p><img alt="公式ウェブサイトからVS Codeをダウンロード" class="animation-figure" src="../installation.assets/vscode_installation.png" /></p>
<p align="center"> 図 16-1 &nbsp; 公式ウェブサイトからVS Codeをダウンロード </p>
<h1 id="161">16.1 &nbsp; プログラミング環境のインストール<a class="headerlink" href="#161" title="Permanent link">&para;</a></h1>
<h2 id="1611-ide">16.1.1 &nbsp; IDE のインストール<a class="headerlink" href="#1611-ide" title="Permanent link">&para;</a></h2>
<p>オープンソースで軽量な VS Code をローカルの統合開発環境(IDE)として使用することを推奨します。<a href="https://code.visualstudio.com/">VS Code 公式サイト</a> にアクセスし、使用している OS に応じたバージョンの VS Code をダウンロードしインストールしてください。</p>
<p><img alt="公式サイトから VS Code をダウンロード" class="animation-figure" src="../installation.assets/vscode_installation.png" /></p>
<p align="center"> 図 16-1 &nbsp; 公式サイトから VS Code をダウンロード </p>
<p>VS Codeには強力な拡張機能エコシステムがあり、ほとんどのプログラミング言語の実行とデバッグをサポートしています。例えば、「Python Extension Pack」をインストールした後、Pythonコードをデバッグできます。インストール手順を下の図に示します。</p>
<p><img alt="VS Code拡張機能パックのインストール" class="animation-figure" src="../installation.assets/vscode_extension_installation.png" /></p>
<p align="center"> 図 16-2 &nbsp; VS Code拡張機能パックのインストール </p>
<p>VS Code には強力な拡張機能エコシステムがあり、ほとんどのプログラミング言語の実行とデバッグをサポートしています。Python を例にすると、「Python Extension Pack」拡張機能をインストールした後、Python コードをデバッグできるようになります。インストール手順を下に示します。</p>
<p><img alt="VS Code 拡張機能のインストール" class="animation-figure" src="../installation.assets/vscode_extension_installation.png" /></p>
<p align="center"> 図 16-2 &nbsp; VS Code 拡張機能のインストール </p>
<h2 id="1612">16.1.2 &nbsp; 言語環境のインストール<a class="headerlink" href="#1612" title="Permanent link">&para;</a></h2>
<h3 id="1-python">1. &nbsp; Python環境<a class="headerlink" href="#1-python" title="Permanent link">&para;</a></h3>
<h3 id="1-python">1. &nbsp; Python 環境<a class="headerlink" href="#1-python" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://docs.conda.io/en/latest/miniconda.html">Miniconda3</a>をダウンロードしてインストールします。Python 3.10以降が必要です。</li>
<li>VS Code拡張機能マーケットプレイスで<code>python</code>を検索し、Python Extension Packをインストールします。</li>
<li>オプション)コマンドラインで<code>pip install black</code>を入力し、コードフォーマッティングツールをインストールします。</li>
<li><a href="https://docs.conda.io/en/latest/miniconda.html">Miniconda3</a> をダウンロードしてインストールします。Python 3.10 以降が必要です。</li>
<li>VS Code拡張機能マーケットプレイスで <code>python</code> を検索し、Python Extension Pack をインストールします。</li>
<li>任意)コマンドラインで <code>pip install black</code> を入力し、コード整形ツールをインストールします。</li>
</ol>
<h3 id="2-cc">2. &nbsp; C/C++環境<a class="headerlink" href="#2-cc" title="Permanent link">&para;</a></h3>
<h3 id="2-cc">2. &nbsp; C/C++ 環境<a class="headerlink" href="#2-cc" title="Permanent link">&para;</a></h3>
<ol>
<li>Windowsシステムでは<a href="https://sourceforge.net/projects/mingw-w64/files/">MinGW</a>をインストールする必要があります(<a href="https://blog.csdn.net/qq_33698226/article/details/129031241">設定チュートリアル</a>)。MacOSにはClangが付属しているため、インストールは不要です。</li>
<li>VS Code拡張機能マーケットプレイスで<code>c++</code>を検索し、C/C++ Extension Packをインストールします。</li>
<li>オプション)設定ページを開き、<code>Clang_format_fallback Style</code>コードフォーマッティングオプションを検索し、<code>{ BasedOnStyle: Microsoft, BreakBeforeBraces: Attach }</code>に設定します。</li>
<li>Windows システムでは <a href="https://sourceforge.net/projects/mingw-w64/files/">MinGW</a> をインストールする必要があります(<a href="https://blog.csdn.net/qq_33698226/article/details/129031241">設定チュートリアル</a>)。MacOS には Clang が標準搭載されているため、追加インストールは不要です。</li>
<li>VS Code拡張機能マーケットプレイスで <code>c++</code> を検索し、C/C++ Extension Pack をインストールします。</li>
<li>任意)Settings ページを開き、コード整形オプション <code>Clang_format_fallback Style</code> を検索し<code>{ BasedOnStyle: Microsoft, BreakBeforeBraces: Attach }</code> に設定します。</li>
</ol>
<h3 id="3-java">3. &nbsp; Java環境<a class="headerlink" href="#3-java" title="Permanent link">&para;</a></h3>
<h3 id="3-java">3. &nbsp; Java 環境<a class="headerlink" href="#3-java" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://jdk.java.net/18/">OpenJDK</a>をダウンロードしてインストールします(バージョンはJDK 9より新しい必要があります)。</li>
<li>VS Code拡張機能マーケットプレイスで<code>java</code>を検索し、Extension Pack for Javaをインストールします。</li>
<li><a href="https://jdk.java.net/18/">OpenJDK</a> をダウンロードしてインストールします(バージョンは JDK 9 より新しい必要があります)。</li>
<li>VS Code拡張機能マーケットプレイスで <code>java</code> を検索し、Extension Pack for Java をインストールします。</li>
</ol>
<h3 id="4-c">4. &nbsp; C#環境<a class="headerlink" href="#4-c" title="Permanent link">&para;</a></h3>
<h3 id="4-c">4. &nbsp; C# 環境<a class="headerlink" href="#4-c" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://dotnet.microsoft.com/en-us/download">.Net 8.0</a>をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで<code>C# Dev Kit</code>を検索し、C# Dev Kitをインストールします(<a href="https://code.visualstudio.com/docs/csharp/get-started">設定チュートリアル</a>)。</li>
<li>Visual Studioを使用することもできます(<a href="https://learn.microsoft.com/zh-cn/visualstudio/install/install-visual-studio?view=vs-2022">インストールチュートリアル</a>)。</li>
<li><a href="https://dotnet.microsoft.com/en-us/download">.Net 8.0</a> をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで <code>C# Dev Kit</code> を検索し、C# Dev Kit をインストールします(<a href="https://code.visualstudio.com/docs/csharp/get-started">設定チュートリアル</a>)。</li>
<li>Visual Studio を使用することもできます(<a href="https://learn.microsoft.com/zh-cn/visualstudio/install/install-visual-studio?view=vs-2022">インストール手順</a>)。</li>
</ol>
<h3 id="5-go">5. &nbsp; Go環境<a class="headerlink" href="#5-go" title="Permanent link">&para;</a></h3>
<h3 id="5-go">5. &nbsp; Go 環境<a class="headerlink" href="#5-go" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://go.dev/dl/">go</a>をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで<code>go</code>を検索し、Goをインストールします。</li>
<li><code>Ctrl + Shift + P</code>を押してコマンドバーを呼び出し、goと入力し<code>Go: Install/Update Tools</code>を選択し、すべてを選択してインストールします。</li>
<li><a href="https://go.dev/dl/">go</a> をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで <code>go</code> を検索し、Go をインストールします。</li>
<li>ショートカットキー <code>Ctrl + Shift + P</code> を押してコマンドパレットを開き、go と入力し<code>Go: Install/Update Tools</code> を選択し、すべてにチェックを入れてインストールします。</li>
</ol>
<h3 id="6-swift">6. &nbsp; Swift環境<a class="headerlink" href="#6-swift" title="Permanent link">&para;</a></h3>
<h3 id="6-swift">6. &nbsp; Swift 環境<a class="headerlink" href="#6-swift" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://www.swift.org/download/">Swift</a>をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで<code>swift</code>を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang">Swift for Visual Studio Code</a>をインストールします。</li>
<li><a href="https://www.swift.org/download/">Swift</a> をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで <code>swift</code> を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang">Swift for Visual Studio Code</a> をインストールします。</li>
</ol>
<h3 id="7-javascript">7. &nbsp; JavaScript環境<a class="headerlink" href="#7-javascript" title="Permanent link">&para;</a></h3>
<h3 id="7-javascript">7. &nbsp; JavaScript 環境<a class="headerlink" href="#7-javascript" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://nodejs.org/en/">Node.js</a>をダウンロードしてインストールします。</li>
<li>オプション)VS Code拡張機能マーケットプレイスで<code>Prettier</code>を検索し、コードフォーマッティングツールをインストールします。</li>
<li><a href="https://nodejs.org/en/">Node.js</a> をダウンロードしてインストールします。</li>
<li>任意VS Code拡張機能マーケットプレイスで <code>Prettier</code> を検索し、コード整形ツールをインストールします。</li>
</ol>
<h3 id="8-typescript">8. &nbsp; TypeScript環境<a class="headerlink" href="#8-typescript" title="Permanent link">&para;</a></h3>
<h3 id="8-typescript">8. &nbsp; TypeScript 環境<a class="headerlink" href="#8-typescript" title="Permanent link">&para;</a></h3>
<ol>
<li>JavaScript環境と同じインストール手順に従います。</li>
<li><a href="https://github.com/privatenumber/tsx?tab=readme-ov-file#global-installation">TypeScript Execute (tsx)</a>をインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで<code>typescript</code>を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors">Pretty TypeScript Errors</a>をインストールします。</li>
<li>JavaScript 環境と同じ手順でインストールます。</li>
<li><a href="https://github.com/privatenumber/tsx?tab=readme-ov-file#global-installation">TypeScript Execute (tsx)</a> をインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで <code>typescript</code> を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors">Pretty TypeScript Errors</a> をインストールします。</li>
</ol>
<h3 id="9-dart">9. &nbsp; Dart環境<a class="headerlink" href="#9-dart" title="Permanent link">&para;</a></h3>
<h3 id="9-dart">9. &nbsp; Dart 環境<a class="headerlink" href="#9-dart" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://dart.dev/get-dart">Dart</a>をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで<code>dart</code>を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code">Dart</a>をインストールします。</li>
<li><a href="https://dart.dev/get-dart">Dart</a> をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで <code>dart</code> を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code">Dart</a> をインストールします。</li>
</ol>
<h3 id="10-rust">10. &nbsp; Rust環境<a class="headerlink" href="#10-rust" title="Permanent link">&para;</a></h3>
<h3 id="10-rust">10. &nbsp; Rust 環境<a class="headerlink" href="#10-rust" title="Permanent link">&para;</a></h3>
<ol>
<li><a href="https://www.rust-lang.org/tools/install">Rust</a>をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで<code>rust</code>を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer">rust-analyzer</a>をインストールします。</li>
<li><a href="https://www.rust-lang.org/tools/install">Rust</a> をダウンロードしてインストールします。</li>
<li>VS Code拡張機能マーケットプレイスで <code>rust</code> を検索し、<a href="https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer">rust-analyzer</a> をインストールします。</li>
</ol>
<!-- Source file information -->
@@ -4698,7 +4698,7 @@ aria-label="フッター"
<a
href="../contribution/"
class="md-footer__link md-footer__link--next"
aria-label="次: 16.2 &amp;nbsp; 一緒に作に参加する"
aria-label="次: 16.2 &amp;nbsp; 一緒に作に参加しましょう"
rel="next"
>
<div class="md-footer__title">
@@ -4706,7 +4706,7 @@ aria-label="フッター"
</span>
<div class="md-ellipsis">
16.2 &nbsp; 一緒に作に参加する
16.2 &nbsp; 一緒に作に参加しましょう
</div>
</div>
<div class="md-footer__button md-icon">
File diff suppressed because it is too large Load Diff