学習・教育を目的に、Pythonで実装したアルゴリズムをコミュニティが保守するコレクション。
TheAlgorithms/C-Plus-Plus
外部ライブラリに依存せず、数学、機械学習、コンピューターサイエンス、物理学のアルゴリズムとデータ構造をC++17で実装した教育向けコレクションです。
- スター
- 34,793
- フォーク
- 7,889
- 未解決の Issue
- 40
- 最終コミット
- 22 日前
これは何?
The Algorithms - C++は、コミュニティによって保守されているC++製アルゴリズム実装集です。コンピューターサイエンス、数学・統計学、データサイエンス、機械学習、工学など幅広い分野を扱っており、同じ課題に対して複数の異なる手法で実装されていることも多く、読み比べられます。
各ソースファイルは単体で完結しており、C++標準ライブラリ(STL)のみを使用し、C++17規格に準拠しています。そのため、Windows、macOS、Linux上のMSVC、AppleClang、GNU系ツールチェーンでコンパイルできることを想定しています。すべてのコミットは、これら3つのOS上でCIによるコンパイルとテストを受けます。ソースコードには解説が付いており、生成されるオンラインドキュメントにはコード、実行手順、プログラムのフロー図が含まれています。
アルゴリズムの仕組みを学びたい教育者、学生、面接を控えた候補者を対象としています。MIT Licenseで公開されており、コントリビューションガイドラインに従った貢献を受け付けています。
主な機能
- 01数学、機械学習、コンピューターサイエンス、物理学の幅広いアルゴリズムをC++で実装しています。
- 02STLのみを使用するため、コードのビルドや実行に外部ライブラリは必要ありません。
- 03C++17を対象とし、CIでWindows、macOS、Ubuntu上のテストを実施しています。
- 04同じ課題に対して、異なる手法による複数の実装を提供しています。
- 05コード、解説、プログラムのフロー図を含む、生成されたオンラインドキュメントを提供しています。
ユースケース
- C++でソート、検索、データ構造のアルゴリズムがどのように動くかを学ぶ。
- 参照実装を使って、コーディング面接や競技プログラミングの準備をする。
- C++を使う大学の授業や講座でアルゴリズムを教える。
- 組み込みプロジェクトやC++17プロジェクトに応用するため、依存関係のない簡潔な実装を探す。
収録されている特集
トピック
よくある質問
- C-Plus-Plus とは?
- 外部ライブラリに依存せず、数学、機械学習、コンピューターサイエンス、物理学のアルゴリズムとデータ構造をC++17で実装した教育向けコレクションです。 The Algorithms - C++は、コミュニティによって保守されているC++製アルゴリズム実装集です。コンピューターサイエンス、数学・統計学、データサイエンス、機械学習、工学など幅広い分野を扱っており、同じ課題に対して複数の異なる手法で実装されていることも多く、読み比べられます。
- C-Plus-Plus は無料で使えますか?ライセンスは?
- C-Plus-Plus は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- C-Plus-Plus は今もメンテナンスされていますか?
- 活発にメンテナンス中。C-Plus-Plus の最終コミットは 2026年10月3日 です。
- C-Plus-Plus は何に使えますか?
- C++でソート、検索、データ構造のアルゴリズムがどのように動くかを学ぶ。 参照実装を使って、コーディング面接や競技プログラミングの準備をする。 C++を使う大学の授業や講座でアルゴリズムを教える。 組み込みプロジェクトやC++17プロジェクトに応用するため、依存関係のない簡潔な実装を探す。
- C-Plus-Plus はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/TheAlgorithms/C-Plus-Plus
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
学習や面接対策を目的に、定番のアルゴリズムとデータ構造をGoで実装したコレクションです。
面接対策に役立つ、LeetCode問題のGo解答集とデータ構造・アルゴリズムを扱う付属のCookbook電子書籍。
解説と参考リンク付きで、定番のアルゴリズムとデータ構造をJavaScriptで実装したコレクションです。
実行可能なコードを十数以上のプログラミング言語で掲載した、無料のオープンソース図解データ構造・アルゴリズム入門書。
学習を目的に、古典的なアルゴリズムとデータ構造をJavaで実装したコレクションです。