gods - GoDS (Go Data Structures)

  •        76

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.

https://github.com/emirpasic/gods

Tags
Implementation
License
Platform

   




Related Projects

go-datastructures

  •    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.


Capsule - The Capsule Hash Trie Collections Library

  •    Java

Capsule aims to become a full-fledged (immutable) collections library for Java 8+ that is solely built around persistent tries. The library is designed for standalone use and for being embedded in domain-specific languages. Capsule still has to undergo some incubation before it can ship as a well-rounded collection library. Nevertheless, the code is stable and performance is solid.

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.

DataStructure

  •    

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.

Paguro - Immutable Collections and Functional Transformations for the JVM

  •    Java

Immutable Clojure collections and a Transformation abstraction for Java 8+, immutably, type-safely, and with good performance. It provide support for RRB Tree, which is an immutable List (like Clojure's PersistentVector) that also supports random inserts, deletes, and can be split and joined back together in logarithmic time.

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.