All Projects → lekkas → C Algorithms

lekkas / C Algorithms

Licence: mit
An experimental C library of common data structures and algorithms

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to C Algorithms

Acm Icpc Cheat Sheet
Cheat sheet for ACM-ICPC. In memory of those good old days.
Stars: ✭ 148 (-9.76%)
Mutual labels:  algorithms
Algorithms Leetcode Javascript
Algorithms resolution in Javascript. Leetcode - Geeksforgeeks - Careercup
Stars: ✭ 157 (-4.27%)
Mutual labels:  algorithms
Visualizer
A single-page website aiming to provide innovative and intuitive visualizations of common and AI algorithms.
Stars: ✭ 163 (-0.61%)
Mutual labels:  algorithms
Leetcode In Swift
My solutions to LeetCode problems written in Swift
Stars: ✭ 150 (-8.54%)
Mutual labels:  algorithms
Play Leetcode
My Solutions to Leetcode problems. All solutions support C++ language, some support Java and Python. Multiple solutions will be given by most problems. Enjoy:) 我的Leetcode解答。所有的问题都支持C++语言,一部分问题支持Java语言。近乎所有问题都会提供多个算法解决。大家加油!:)
Stars: ✭ 2,216 (+1251.22%)
Mutual labels:  algorithms
C Plus Plus
Collection of various algorithms in mathematics, machine learning, computer science and physics implemented in C++ for educational purposes.
Stars: ✭ 17,151 (+10357.93%)
Mutual labels:  algorithms
Data Structures And Algorithms
Data Structures and Algorithms implemented In Python, C, C++, Java or any other languages. Aimed to help strengthen the concepts of DS&A. Give a Star 🌟 if it helps you.
Stars: ✭ 146 (-10.98%)
Mutual labels:  algorithms
Epijudge
EPI Judge - Preview Release
Stars: ✭ 2,215 (+1250.61%)
Mutual labels:  algorithms
Pygm
🐍 Python library implementing sorted containers with state-of-the-art query performance and compressed memory usage
Stars: ✭ 156 (-4.88%)
Mutual labels:  algorithms
Funnyalgorithms
A repository with a bunch of funny algorithms, beginners friendly
Stars: ✭ 161 (-1.83%)
Mutual labels:  algorithms
The Python Workshop
A New, Interactive Approach to Learning Python
Stars: ✭ 150 (-8.54%)
Mutual labels:  algorithms
Embb
Embedded Multicore Building Blocks (EMB²): Library for parallel programming of embedded systems. Star us on GitHub? +1
Stars: ✭ 153 (-6.71%)
Mutual labels:  algorithms
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (-1.83%)
Mutual labels:  algorithms
Labs
Labs for the Foundations of Applied Mathematics curriculum.
Stars: ✭ 150 (-8.54%)
Mutual labels:  algorithms
Algorithm
The repository algorithms implemented on the Go
Stars: ✭ 163 (-0.61%)
Mutual labels:  algorithms
Books
📚 All programming languages books
Stars: ✭ 148 (-9.76%)
Mutual labels:  algorithms
Data Structures Algorithms
Your personal library of every algorithm and data structure code that you will ever encounter
Stars: ✭ 157 (-4.27%)
Mutual labels:  algorithms
Textdistance
Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.
Stars: ✭ 2,575 (+1470.12%)
Mutual labels:  algorithms
Stats
A well tested and comprehensive Golang statistics library package with no dependencies.
Stars: ✭ 2,196 (+1239.02%)
Mutual labels:  algorithms
Algorithms Learning
Algorithms learning note and LeetCode solution
Stars: ✭ 160 (-2.44%)
Mutual labels:  algorithms

C Algorithm Library Build Status

C algorithms is, as the name implies, a collection of common data structures and algorithms implemented in C99.

Motivation

Every now and then I find myself preparing for technical interviews which often require at least some basic understanding of common data structures and algorithms. These questions are supposed to assess a candidates' technical background and ability to think on her feet. In real life, however, you should definitely avoid re-inventing the wheel and use well-established, peer reviewed libraries, like Boost for C++.

Why Header-Only? Why not Header-Only?

The first version of the library was implemented as header only.

There are trade-offs between shipping a library in a header-only format and using separate files for the API and implementation. The header-only approach, though not very efficient when building large projects, has one big advantage; the library does not need to be separately compiled and you only have to #include the relevant header file in your source code.

However, I eventually settled down to use separate .h and .c files for API and implementation because it think it is more intuitive in terms of code structure.

Testing

I have used the GoogleTest (gtest) framework. This has bloated the repository a lot and might be an overkill for this small project but I wanted to give it a try nevertheless. In order to run the tests simply execute make test

Scope

This is an educational and experimental piece of code. Needless to say, never use a random toy algorithm implementation like this in any production setting.

Author

@lekkas

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].