Modula-2 collections library. The library provides an API for collection ADTs, in particular: stacks, queues, double ended queues, priority queues, balanced binary search trees, patricia tries, dynamic arrays and hash tables to store arbitrary data. The hash table ADT allows data to be stored and
... [More] retrieved by reference or by copy, with built-in reference counting. All other ADTs allow data to be stored and retrieved by reference only. The library follows PIM4, it has no dependencies and it is platform independent. The library is tested with GM2 using option 'fpim4'. Under development. BSD style license. [Less]
C library for dynamic priority queues. The library provides an API to create and use dynamic priority queues for arbitrary data. Data may be stored and retrieved by reference only. All operations are O(log n). Requires C99, no dependencies, platform independent. BSD style license.
Using the right data structure or algorithm for the situation is an important aspect of programming. In computer science literature, many data structures and algorithms have been researched and extensively documented. However, there is still no standard library in Ruby implementing useful structures
... [More] and algorithms like Red/Black Trees, tries, graphs, different sorting algorithms, etc. This project will create such a library with documentation on when to use a particular structure/algorithm. It will also come with a benchmark suite to compare performance in different situations. [Less]