C Algorithms Library 1.0.0 review

Download
by rbytes.net on

C Algorithms Library is a collection of commonly used Computer Science algorithms. The focus is on code that is well documented an

License: BSD License
File size: 0K
Developer: Simon Howard
0 stars award from rbytes.net

C Algorithms Library is a collection of commonly used Computer Science algorithms.

The focus is on code that is well documented and tested, portable, and reusable.

The C Programming Language has a much smaller standard library compared to other more modern programming languages such as Java or Python.

In particular, it lacks implementations of many common data structures and algorithms. This is a collection of such algorithms to attempt to alleviate this problem.

The source code is released under the Modified BSD license, and as such can be freely modified and reused in any project, either proprietary or free. It is written in 100% ANSI standard C.

Each algorithm is written to be independent from the other implementations, allowing particular algorithms to be included in projects as needed.

Data structures

Collections

ArrayList : Automatically resizing array.
Doubly linked list : A set of values stored in a list with links that point in both directions.
Singly linked list : A set of values stored in a list with links that point in one direction.
Queue : Double ended queue which can be used as a FIFO or a stack.
Set : Unordered set of values.

Mappings

Hash table : Collection of values which can be addressed using a key.
Trie : Fast mapping using strings as keys.

Binary search trees

AVL tree : Balanced binary search tree with O(log n) worst case performance.

Utility functions

All of the above data structures operate on void pointers. It is sometimes necessary to compare values (when sorting a list, for example) or generate a hash key (in a hash table or set). This is done by providing a pointer to a function which provides this functionality. The following functions provide this functionality for some common data types.

Integer comparison and hash functions.
String comparison and hash functions.
Generic (void) pointer comparison and hash functions.

C Algorithms Library 1.0.0 search tags