C README

The project's README from github.com/TheAlgorithms/C. As one markdown file: README.md.

The Algorithms - C # {#mainpage}

Gitpod Ready-to-Code CodeQL CI Gitter chat contributions welcome GitHub repo size Doxygen CI Awesome CI Income Discord chat Donate

Overview

The repository is a collection of open-source implementations of a variety of algorithms implemented in C and licensed under GPLv3 License. The algorithms span a variety of topics from computer science, mathematics and statistics, data science, machine learning, engineering, etc.. The implementations and their associated documentations are meant to provide a learning resource for educators and students. Hence, one may find more than one implementation for the same objective but using different algorithm strategies and optimizations.

Features

Documentation

Online Documentation is generated from the repository source codes directly. The documentation contains all resources including source code snippets, details on execution of the programs, diagrammatic representation of program flow, and links to external resources where necessary. Click on Files menu to see the list of all the files documented with the code.

Documentation of Algorithms in C by The Algorithms Contributors is licensed under CC BY-SA 4.0
Creative Commons LicenseCredit must be given to the creatorAdaptations must be shared under the same terms

Contributions

As a community developed and maintained repository, we welcome new un-plagiarized quality contributions. Please read our Contribution Guidelines.

C (TheAlgorithms/C)

Searching Database…

22.5K ·GitHub
What is this?A community-maintained, open-source collection of algorithm implementations in C, covering computer science, mathematics, statistics, data science, machine learning and engineering.
Is it a library I add to my project, or a collection of programs to read and run?A collection of standalone source files: each is atomic, needs only the standard C library, and compiles on its own — so you study or build individual algorithms rather than install a package.
How do I build and run an algorithm from it?Clone the repository and compile whichever file interests you with a C11-compliant compiler; CI compile-tests every commit, so the samples are known to build cleanly.
Is the code production-ready, or more of a study material?Treat it as a learning resource, not an optimized library: for the same objective you may find several implementations using different algorithm strategies and optimizations.
Is it aimed at beginners learning algorithms, or at experienced C developers?Primarily educators and students — the source code is deliberately well documented with detailed explanations so the fundamentals of each algorithm can be studied in depth.
Will it run on my machine, or only on Linux?CI compiles and tests every commit on macOS (AppleClang 14.0.0) and Ubuntu (GCC 11.3.0), and strict C11 adherence lets the same code target embedded systems like ESP32 and ARM Cortex with little to no changes.
Can I take this code and use it in my own project?Yes — the modular implementations under the GPLv3 are explicitly meant to be conveniently utilized in other applications, though GPLv3 copyleft obligations carry over to what you build.
How can I tell an implementation actually works?Every program carries built-in self-checks, so compiling and running a file confirms on the spot that the implementation behaves as described.
What are similar projects?C-Plus-Plus, JavaScript, Go, interviews, Java, cosmos, interview, Python
Size
19.9 MB
Stars
22.5K
Updated
CommitSep 27
Age
10y
Commits · 90 Days