RubyTree is a simple to use general purpose tree data structure implementation in Ruby. It provides easy access methods for navigating the hierarchy, as well as for accessing the nodes. It also provides ability to marshal the entire tree structure. The library provides a generic tree as well as a binary tree implementation. It is available as a RubyGem or standard Tar/ZIP packages.
liblfds is a portable, lock-free data structure library. Out-of-the-box ports are provided for Linux (user-mode) and Windows (user-mode and kernel-mode) on ARM, x86, and x64, under a variety of toolchains. Currently, the library contains a freelist, queue, ringbuffer, singly-linked list (logical delete only), and a stack. The homepage contains a blog, bugzilla, forum, and mediawiki. The mediawiki contains comprehensive documentation for development, building, testing, and porting. There is no license. You are free to use this code in any way.
BS is a data structures library. It features fixed size, random access sequences. The sequences are constructed over B-trees. Complexity for most single item operations is about O(logN). The sequences are three to five times faster over random access BST-based sequences, while having better memory usage characteristics.
cola is a C implementation of the COLA structure described in the paper "Cache Oblivious Streaming B-Trees" by Bender, Farach-Colton, et al. This algorithm is a drop-in replacement for B-Tree databases/indexes which performs faster on spinning disks than B-Trees do on SSD. It's asymptotically optimal in terms of data transfers to and from disk. For example, random key inserts are turned into linear sequential writes while maintaining the property which queries always require, at most, precisely log N blocks read sequentially (but not contiguously) from disk (or half that, on average).
Capsule Tree is a general purpose, self-balancing tree data structure for large, ordered data sets. It is designed to provide the same characteristics as B-trees and B+trees, but built from the ground up for in-memory usage. In other words, there are no provisions for “slow” I/O cases. The original motivation for this tree was a better backend for memory managers. However, the end result was a new sub-category of trees.