Skip to content

sdroege/snippets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This library contains some algorithms and data structures that I've
developed for my own usage, because no free alternative with the
required features was available or had too many dependencies on
third party libraries.

Everything in this library is implemented in plain, portable C
and has no external dependencies. It can be used in other software
under the terms of the GNU Lesser General Public License version 3
or any newer version.

* Algorithms:
  + Fowler–Noll–Vo hash function in 32, 64, 128, 256, 512 and
    1024 bit variants.
  + Pseudo random number generator for uniformly distributed
    32 bit integers and doubles in arbitrary ranges. Uses
    the MT19937 mersenne prime twister.

* Data structures:
  + (Double) Linked list
    - O(1) append/prepend
    - Pointer storage or data storage with single allocation
    - Memory managment
  + Skip list
    - Configurable maximum node level and level probability
    - Iteratable in both directions
  + Bloom filter
    - Uses enhanced double hashing
    - Arbitrary number of hash functions
    - Arbitrary filter size

About

Some algorithms and data structures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published