C 言語によるアルゴリズムとデータ構造(コース資料)
【概要】C言語プログラミングを学ぶための包括的な教材集を提供している. 内容は,基本的なデータ構造,計算アルゴリズム,種々のアルゴリズムを扱っている.基本的なデータ構造では,連結リスト,双方向リスト,二分木,二分探索木,スタック,グラフなどを学ぶ.計算アルゴリズムについては,最大値,曜日計算,平均値・分散,2次方程式の解,最小自乗法などの基本的な計算についてのプログラムを説明する.種々のアルゴリズムセクションについては,行列のLU分解,ニュートン法,数値積分,ヒープソート,クイックソート,ハッシュテーブル,Dijkstra法によるグラフ最短路問題などの高度なアルゴリズムを説明している.
※ 演習では,Python Tutor を使用する.あわせて, https://visualgo.net/ja で公開されている VisuAlgo を使用する
【サイト内の関連ページ】
- プログラミング授業のページ
- C/C++プログラミング用語集のページ
【関連情報】
Visual Studio Community 2026のインストール
Visual Studio Community 2026のインストールを行い、C++デスクトップ開発を行う環境を整える。扱う環境は、Windows搭載パソコンである。金子研究室では、MSVC v143ビルドツール、CMake、LLVM Clang、Windows 11 SDK(10.0.26100)の同時導入を推奨する。
[Windows での Visual Studio Community 2026 のインストール手順を見るには、ここをクリック]
Windows での Visual Studio Community 2026 のインストール
以下のいずれかの方法でVisual Studio Community 2026をインストールする。Visual Studio Community 2026がインストール済みの場合、本コマンドは setup.exe modify によりコンポーネントの追加のみを行い、バージョンは変更しない。
方法 1:winget によるインストール
【インストールコマンドの実行方法】
管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。
--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。
REM 実行中のVisual Studio Installer関連プロセスを終了
taskkill /F /IM vs_setup.exe /T >nul 2>&1
taskkill /F /IM vs_installer.exe /T >nul 2>&1
taskkill /F /IM vs_installerservice.exe /T >nul 2>&1
taskkill /F /IM msiexec.exe /T >nul 2>&1
REM 未インストール時: winget で新規インストール
REM インストール済み時: setup.exe modify でコンポーネント追加(バージョンは変更しない)
winget list --id Microsoft.VisualStudio.Community 2>nul | findstr /i "Community" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
for /f "usebackq delims=" %P in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.Community -property installationPath`) do start /wait "" "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "%P" --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --includeRecommended --quiet --norestart --nocache
) else (
winget install --scope machine --id Microsoft.VisualStudio.Community -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
)
REM Visual C++ 再頒布可能パッケージのインストール
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements
方法 2:インストーラーによるインストール
- Visual Studio公式サイト(https://visualstudio.microsoft.com/downloads/)にアクセスし、「Community 2026」の「無料ダウンロード」ボタンからブートストラップインストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- ワークロード選択画面で「C++によるデスクトップ開発」(Desktop development with C++)にチェックを入れる。このチェックを入れ忘れると、C++コンパイラやMSVCビルドツールがインストールされない。
- 右側の「インストールの詳細」ペインで、「Windows 11 SDK (10.0.26100)」、「C++ CMake tools for Windows」、「C++ Clang Compiler for Windows」、「MSBuild support for LLVM (clang-cl) toolset」にチェックが入っていることを確認する。
- 「インストール」をクリックする。
インストールの確認
新しくコマンドプロンプトを開き,以下を実行する。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products * -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath
インストールパス(例:C:\Program Files\Microsoft Visual Studio\18\Community)が表示されればインストール成功である。何も表示されない場合は、インストールが正常に完了していない。
基本的なデータ構造と操作
- 連結リスト [PDF], [パワーポイント], [HTML]
- 双方向リスト [PDF], [パワーポイント], [HTML]
- 二分木と走査 [PDF], [パワーポイント], [HTML]
- 二分探索木 [PDF], [パワーポイント], [HTML]
- スタック [PDF], [パワーポイント], [HTML]
- グラフ,ソート,連結リスト [PDF], [パワーポイント], [HTML]
基礎的な数値計算と応用
高度なアルゴリズムと応用問題
- 行列のLU分解 [PDF], [パワーポイント] [HTML]
- ニュートン法による非線型方程式の解 [PDF], [パワーポイント] [HTML]
- 数値積分 [PDF], [パワーポイント] [HTML]
- 2分探索木 [PDF], [パワーポイント] [HTML]
- ヒープソート [PDF], [パワーポイント] [HTML]
- クイックソート [PDF], [パワーポイント] [HTML]
- ハッシュテーブル [PDF], [パワーポイント] [HTML]
- Dijkstra法によるグラフ最短路問題 [PDF], [パワーポイント] [HTML]