gods - GoDS (Go Data Structures)

  •        47

Implementation of various data structures and algorithms in Go.Containers are either ordered or unordered. All ordered containers provide stateful iterators and some of them allow enumerable functions.




Related Projects


  •    Go

Go-datastructures is a collection of useful, performant, and threadsafe Go datastructures.Interval tree for collision in n-dimensional ranges. Implemented via a red-black augmented tree. Extra dimensions are handled in simultaneous inserts/queries to save space although this may result in suboptimal time complexity. Intersection determined using bit arrays. In a single dimension, inserts, deletes, and queries should be in O(log n) time.

STL AVL map/set library

  •    C++

This is a fully STL-compliant C++ map/set/multimap/multiset implementation for g++ using an AVL tree instead of a Red-Black tree (that is present in current libstdc++).

C# .NET Generic Data structures Library

  •    DotNet

C# .NET Generic Data structures Library like Binary Tree, B-Tree, Red-Black tree implementation. Suggestions/Contributions welcome on what more can be provided in this project.

GoLLRB - A Left-Leaning Red-Black (LLRB) implementation of balanced binary search trees for Google Go

  •    Go

GoLLRB is a Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees in Go Language. As of this writing and to the best of the author's knowledge, Go still does not have a balanced binary search tree (BBST) data structure. These data structures are quite useful in a variety of cases. A BBST maintains elements in sorted order under dynamic updates (inserts and deletes) and can support various order-specific queries. Furthermore, in practice one often implements other common data structures like Priority Queues, using BBST's.



01. Stack 02. Queue 03. List 04. Hash Table 05. Binary Tree 06. Red Black Tree

Red-Black Binary Search Tree - Generic Class in C++


A well documented, simple and straight-forward implementation of a red-black-binary search tree generic collection. This template class is fully compatible with the C++ standard template library (STL) algorithms. This project is meant for students and c++ programmers who want...

Tree - A basic but flexible tree data structure for php and a fluent tree builder implementation.

  •    PHP

In Tree you can find a basic but flexible tree data structure for php together with and an handful Builder class, that enables you to build tree in a fluent way. The Tree\Node\NodeInterface interface abstracts the concept of a tree node. In Tree a Node has essentially two things: a set of children (that implements the same NodeInterface interface) and a value.

binarytree - Python Library for Studying Binary Trees

  •    Python

Binarytree is a Python library which provides a simple API to generate, visualize, inspect and manipulate binary trees. It allows you to skip the tedious work of setting up test data, and dive straight into practising your algorithms. Heaps and BSTs (binary search trees) are also supported. You may need to use sudo depending on your environment.

.Net Collections


Implementation of special collections (AVL Tree, Binary Tree, Skip List, Trie, ...)

Kw.Data.BtreeDictionary: B+ Tree Class with a SortedDictionary API

  •    CSharp

This library contains the BtreeDictionary class which implements a B+ tree data structure and is a functional equivalent of Microsoft's generic SortedDictionary class (a binary tree) but with improved performance characteristics in several areas. Written in C#.

RubyTree - A General Purpose Tree Data Structure for Ruby

  •    Ruby

RubyTree is a pure Ruby implementation of the generic tree data structure. It provides a node-based model to store named nodes in the tree, and provides simple APIs to access, modify and traverse the structure. The implementation is node-centric, where individual nodes in the tree are the primary structural elements. All common tree-traversal methods (pre-order, post-order, and breadth-first) are supported.

jOrgChart - A jQuery plugin to draw tree-like structures such as OrgCharts.

  •    Javascript

jQuery OrgChart is a plugin that allows you to render structures with nested elements in a easy-to-read tree structure. To build the tree all you need is to make a single line call to the plugin and supply the HTML element Id for a nested unordered list element that is representative of the data you'd like to display. If drag-and-drop is enabled you'll be able to reorder the tree which will also change the underlying list structure. To get up and running you'll need a few things.

GoJS - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages

  •    Javascript

GoJS is a JavaScript and TypeScript library for creating and manipulating diagrams, charts, and graphs. GoJS is a flexible library that can be used to create a number of different kinds of interactive diagrams, including data visualizations, drawing tools, and graph editors. There are samples for flowchart, org chart, business process BPMN, swimlanes, timelines, state charts, kanban, network, mindmap, sankey, family trees and genogram charts, fishbone diagrams, floor plans, UML, decision trees, pert charts, Gantt, and hundreds more. GoJS includes a number of built in layouts including tree layout, force directed, radial, and layered digraph layout, and a number of custom layout examples.

hitchhiker-tree - Functional, persistent, off-heap, high performance data structure

  •    Clojure

Hitchhiker trees are a newly invented (by @dgrnbrg) datastructure, synthesizing fractal trees and functional data structures, to create fast, snapshottable, massively scalable databases. The hitchhiker namespaces contain a complete implementation of a persistent, serializable, lazily-loaded hitchhiker tree. This is a sorted key-value datastructure, like a scalable sorted-map. It can incrementally persist and automatically lazily load itself from any backing store which implements a simple protocol.

ForestDB - A Fast Key-Value Storage Engine Based on Hierarchical B+-Tree Trie

  •    C++

ForestDB is a key-value storage engine developed by Couchbase Caching and Storage Team, and its main index structure is built from Hierarchical B+-Tree based Trie, called HB+-Trie. ForestDB paper has been published in IEEE Transactions on Computers.