Browse free open source C++ Algorithms and projects below. Use the toggles on the left to filter open source C++ Algorithms by OS, license, language, programming language, and project status.

  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Start Free
  • 1
    Technical analysis library with indicators like ADX, MACD, RSI, Stochastic and TRIX, plus candlestick pattern recognition. Docs: https://ta-lib.org Available natively in C/C++, Java, Rust and C# with wrappers for python, R and many other ecosystems. MOVED TO GITHUB: https://github.com/TA-Lib/ta-lib . No further support is provided on SourceForge. Release 0.4.0 is very outdated, please check github for the most recent release.
    Leader badge
    Downloads: 6,694 This Week
    Last Update:
    See Project
  • 2
    Linear Program Solver

    Linear Program Solver

    Solve linear programming problems

    Linear Program Solver (LiPS) is an optimization package oriented on solving linear, integer and goal programming problems. The main features of LiPS are: ● LiPS is based on the efficient implementation of the modified simplex method that solves large scale problems. ● LiPS provides not just an answer, but a detailed solution process as a sequence of simplex tables, so you can use it for studying/teaching linear programming. ● LiPS gives sensitivity analysis procedures, which allow us to study the behaviour of the model when you change its parameters, including: analysis of changes in the right sides of constraints, analysis of changes in the coefficients of the objective function, analysis of changes in the column/row of the technology matrix. Such information may be extremely useful for the practical application of LP Models. ● LiPS provides methods of goal programming, including lexicographic and weighted GP methods, which are oriented on multi-objective optimisation.
    Downloads: 26 This Week
    Last Update:
    See Project
  • 3
    FileVerifier++
    FileVerifier++ is a Windows utility for calculating hashes using a number of algorithms including CRC32, MD5, SHA-1, SHA-256/224/384/512, WHIRLPOOL, and RIPEMD-128/160/256/320. Supported hash file formats include MD5SUM .MD5, SFV, BSD CKSUM, and others.
    Downloads: 29 This Week
    Last Update:
    See Project
  • 4

    Jojos Binary Diff

    Binary Diff and Undiff Utility

    JDIFF is a program that outputs the differences between two binary files, either in binary format or in human readable format (detailed or summarized) and then allows to reconstruct the second file from the first one and the diff-file.
    Leader badge
    Downloads: 13 This Week
    Last Update:
    See Project
  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • 5

    ViennaCL

    Linear algebra and solver library using CUDA, OpenCL, and OpenMP

    ViennaCL provides high level C++ interfaces for linear algebra routines on CPUs and GPUs using CUDA, OpenCL, and OpenMP. The focus is on generic implementations of iterative solvers often used for large linear systems and simple integration into existing projects.
    Leader badge
    Downloads: 14 This Week
    Last Update:
    See Project
  • 6
    MultiBoost is a C++ implementation of the multi-class AdaBoost algorithm. AdaBoost is a powerful meta-learning algorithm commonly used in machine learning. The code is well documented and easy to extend, especially for adding new weak learners.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    C++ Revenue Management Open Library
    That project (RMOL) aims at giving developers concerned by the Revenue Management arena a library delivering a reference implementation for most of the published algorithms and methods. That library is intended to be used in simulated environment: it does not intend to be used in real world production systems.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 8
    Critterding

    Critterding

    Evolving Artificial Life

    Critterding is a "Petri dish" universe in 3D that demonstrates evolving artificial life. Critters start out with completely random brains and bodies, but will automatically start evolving into something with much better survival skills.
    Leader badge
    Downloads: 1 This Week
    Last Update:
    See Project
  • 9
    IVCon-TL 3D scene conversion tool

    IVCon-TL 3D scene conversion tool

    Converts between many 3D data formats

    IVCon-TL can read and write a variety of 3D graphics file formats, converting from one to the other. Supported formats include 3DS, ASE, BYU, DXF, GMOD, HRC, IV, OBJ, OFF, POV, SMF, STL/STLA/STLB, TEC, TRI/TRIA/TRIB, UCD, VLA, WRL/VRML, XGL and more.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 10
    PMCGPU

    PMCGPU

    Parallel simulators for Membrane Computing on the GPU

    Membrane Computing is a new research area (within Natural Computing) that aims to provide computing devices abstracted from the functioning and structure of living cells. These devices are called P systems. The objective of this project (PMCGPU) is to bring together all the researchers working on the development of parallel simulators for P systems, specially those using the GPU (e.g. CUDA, OpenCL, etc). Other parallel platforms are also welcome (multicore and manycore, FPGAs, etc). This project has been initiated by the Research Group on Natural Computing (Department of Computer Science and Artificial Intelligence, University of Seville). PMCGPU was born inside the P-Lingua project, of the same research group. PMCGPU is a GNU project, so all the applications developed within it are released under the GPLv3 license. Just contact us if you want to participate. Please, visit the Wiki of the project for further information.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    Command line encryption tool for one time, daemon, or stream data processing. Data stats, check sums, conversion to/from text. Data/keys from files, pipes, standard input. In-place/diverted processing or data-analysis-only. Random, file, password keys.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12

    ctsa

    A Univariate Time Series Analysis package in ANSI C

    CTSA is a C software package for univariate time series analysis. This is a work in progress. ARIMA and Seasonal ARIMA models have been added so far. Other functionality will be added soon . Documentation - https://github.com/rafat/ctsa/wiki
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13

    Cryptography Tools

    Classic & Modern Cryptography tools

    Cryptography Tools is a project to develop demonstration tools on classic (currently Caesar and Playfair) & modern crypto-systems, including private & public key encryptions, digital signatures, cryptographic hashes and authenticated encryption.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    Image-In is a C++ based image processing and analysis application. It works on images, videos and cameras. Target is to help you to develop and test new algorithms via add-ons. Chains of filters can be arranged to achieve intelligent systems.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    Lib Roman/Arabic for GCC (C++)

    Lib Roman/Arabic for GCC (C++)

    Library Roman/Arabic for GCC (C++)

    This library performs the numerical conversion of Arabic numerical values into Roman numerals and Roman numeral values into Arabic numerals. This resource is developed with didactic and pedagogical objectives. Its commercial use may not be of extreme importance. The code of this library is published in the book: C++ Underground Programmer of the author Augusto Manzano (only portuguese). The book can be purchased from the "Clube de Autores" service - https://clubedeautores.com.br/book/209155--C_Underground_Programmer?topic=compiladores#.WNfZkJt_aKY. For more libraries, go to: https://sourceforge.net/u/augustomanzano/profile. To see my curriculum vitae go to: http://lattes.cnpq.br/8184615061457853. Augusto Manzano http://www.manzano.pro.br
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16

    MSAProbs: Multiple Sequence Alignment

    One of the most accurate multiple protein sequence aligners

    MSAProbs is an open-source protein multiple sequence ailgnment algorithm, achieving the stastistically highest alignment accuracy on popular benchmarks: BALIBASE, PREFAB, SABMARK, OXBENCH, compared to ClustalW, MAFFT, MUSCLE, ProbCons and Probalign.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17

    drvq

    dimensionality-recursive vector quantization

    drvq is a C++ library implementation of dimensionality-recursive vector quantization, a fast vector quantization method in high-dimensional Euclidean spaces under arbitrary data distributions. It is an approximation of k-means that is practically constant in data size and applies to arbitrarily high dimensions but can only scale to a few thousands of centroids. As a by-product of training, a tree structure performs either exact or approximate quantization on trained centroids, the latter being not very precise but extremely fast. A detailed README file describes the usage of the software, including license, requirements, installation, file formats, sample data, tools, and options. With the sample data provided and the default options, it is possible to test the code immediately as a demo. DRVQ has a 2-clause BSD license. Please refer to the DRVQ software home page, the research project, or the original publication for more information. The latest code is available at github.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18

    COPEread

    Connecting Overlapped Pair-End Reads

    COPE (Connecting Overlapped Pair-End reads) is a method to align and connect the illumina sequenced Pair-End reads of which the insert size is smaller than the sum of the two read length.The connected reads can be used in genome assembly, resequencing and transcriptome research. The full citation: COPE: An accurate k-mer based pair-end reads connection tool to facilitate genome assembly Binghang Liu; Jianying Yuan; Siu-Ming Yiu; Zhenyu Li; Yinlong Xie; Yanxiang Chen; Yujian Shi; Hao Zhang; Yingrui Li; Tak-Wah Lam; Ruibang Luo Bioinformatics (2012) 28(22): 2870-2874; doi: 10.1093/bioinformatics/bts563
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    Barracuda is a circuit board analyzer that analyze PCB and make sure the new boards doesn't contain errors Barracuda has now his first release, The error detection works fine, but it require to much calibration to get good pictures.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    bincmp is intended as a cross-platform, tiny and fast binary comparer of two files. it is much faster than "fc /b", for example. bincmp2 is more powerful, but currently windows-only.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    The package edmonds-alg contains a C++-implementation of Edmonds's optimum branching algorithm as described by Tarjan in 1977.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Multiclass machine learning
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    MMLIB(Morfa Matrix Library) is a set of C++ numerical routines providing features similar to Matlab/Octave.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    TSP Solver and Generator

    TSP Solver and Generator

    Generate and solve Travelling Salesman Problem tasks

    TSPSG is intended to generate and solve Travelling Salesman Problem (TSP) tasks. It uses Branch and Bound method for solving. An input is a number of cities and a matrix of city-to-city travel prices. The matrix can be populated with random values in a given range (useful for generating tasks). The result is an optimal route, its price, step-by-step matrices of solving and solving graph. The task can be saved in internal binary format and opened later. The result can be printed or saved as PDF, HTML, or ODF. TSPSG may be useful for teachers to generate test tasks or just for regular users to solve TSPs. Also, it may be used as an example of using Branch and Bound method to solve a particular task.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    An implementation of Bruhn et al.'s fast variational optical flow algorithm using the OpenCV image processing library. The code calculates dense flow fields with a user-specified level of precision.
    Downloads: 1 This Week
    Last Update:
    See Project