radix_tree - STL like container of radix tree (a.k.a. PATRICIA trie) in C++

  •        545

It's a header-only library. Just include it. See examples. See COPYING.




Related Projects

go-radix - Golang implementation of Radix trees

  •    Go

Provides the radix package that implements a radix tree. The package only provides a single Tree implementation, optimized for sparse nodes. For an immutable variant, see go-immutable-radix.

go-immutable-radix - An immutable radix tree implementation in Golang

  •    Go

Provides the iradix package that implements an immutable radix tree. The package only provides a single Tree implementation, optimized for sparse nodes.A tree supports using a transaction to batch multiple updates (insert, delete) in a more efficient manner than performing each operation one at a time.

libart - Adaptive Radix Trees implemented in C

  •    C

This library provides a C99 implementation of the Adaptive Radix Tree or ART. The ART operates similar to a traditional radix tree but avoids the wasted space of internal nodes by changing the node size. It makes use of 4 node sizes (4, 16, 48, 256), and can guarantee that the overhead is no more than 52 bytes per key, though in practice it is much lower. This build will produce a test_runner executable for testing and a shared_object (libart.so on *NIX systems) for linking with.

concurrent-trees - Concurrent Radix and Suffix Trees for Java

  •    Java

This project provides concurrent Radix Trees and concurrent Suffix Trees for Java. The implementation in this project is actually a Generalized Suffix Tree.

liburkel - Authenticated key-value store (i.e. an urkel tree)

  •    C

An optimized and cryptographically provable key-value store. Written in C. The urkel tree is implemented as a base-2 merkelized radix tree. It builds on earlier research done by Bram Cohen and Amaury Séchet in order to create an alternative to Ethereum's base-16 trie.

STSdb R3.5


STSdb R3.5 uses a Radix-tree technology that is a space-optimized tree data structure suitable for real-time data and sequential inserts.

Gin - HTTP web framework written in Go (Golang)

  •    Go

Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love You can add global, per-group, and per-route middlewares, thousands of nested groups, nice JSON validation and rendering. And the performance will be still great. Gin uses httprouter internally, the fastest HTTP router for Golang. Httprouter was created by Julien Schmidt and it’s based in a Radix Tree algorithm.

spark-indexedrdd - An efficient updatable key-value store for Apache Spark

  •    Scala

An efficient updatable key-value store for Apache Spark. IndexedRDD extends RDD[(K, V)] by enforcing key uniqueness and pre-indexing the entries for efficient joins and point lookups, updates, and deletions. It is implemented by (1) hash-partitioning the entries by key, (2) maintaining a radix tree (PART) index within each partition, and (3) using this immutable and efficiently updatable data structure to enable efficient modifications and deletions.

go-memdb - Golang in-memory database built on immutable radix trees

  •    Go

Provides the memdb package that implements a simple in-memory database built on immutable radix trees. The database provides Atomicity, Consistency and Isolation from ACID. Being that it is in-memory, it does not provide durability. The database is instantiated with a schema that specifies the tables and indicies that exist and allows transactions to be executed.Multi-Version Concurrency Control (MVCC) - By leveraging immutable radix trees the database is able to support any number of concurrent readers without locking, and allows a writer to make progress.


  •    C

Simplified Number Conversion! Convert any number of any radix base (base 2-36) to another number of any radix base. It is written in C, and uses GTK+ for the user interface.

morphdom - Fast and lightweight DOM diffing/patching (no virtual DOM needed)

  •    Javascript

This module was created to solve the problem of updating the DOM in response to a UI component or page being rerendered. One way to update the DOM is to simply toss away the existing DOM tree and replace it with a new DOM tree (e.g., myContainer.innerHTML = newHTML). While replacing an existing DOM tree with an entirely new DOM tree will actually be very fast, it comes with a cost. The cost is that all of the internal state associated with the existing DOM nodes (scroll positions, input caret positions, CSS transition states, etc.) will be lost. Instead of replacing the existing DOM tree with a new DOM tree we want to transform the existing DOM tree to match the new DOM tree while minimizing the number of changes to the existing DOM tree. This is exactly what the morphdom module does! Give it an existing DOM node tree and a target DOM node tree and it will efficiently transform the existing DOM node tree to exactly match the target DOM node tree with the minimum amount of changes. morphdom does not rely on any virtual DOM abstractions. Because morphdom is using the real DOM, the DOM that the web browser is maintaining will always be the source of truth. Even if you have code that manually manipulates the DOM things will still work as expected. In addition, morphdom can be used with any templating language that produces an HTML string.

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.

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.

bosket - Collection of tree view components for front-end frameworks. :deciduous_tree:

  •    Javascript

Bosket is a library of tree views implementations for front-end reactive frameworks. Tree views, which are basically an elegant way to display nested lists, are very versatile and can for example be used as file explorers, menus, table of contents or category lists.

project-explorer - 🎋A CLI tool to create an annotated tree visualization of any project

  •    Javascript

Create a tree visualization of any project with this CLI tool. When ramping people up on an existing codebase, there's often a lot of state they have to understand about the project- where everything is, where everything starts, exceptional files. With this tool, you can generate a visualization of any project, as well modify certain directories to be open, or have notes that people can read through easily. A working example of this exists here. I created this for Vue core off of notes taken at a core meeting as Evan You walked us through some of the file structure.

libspatialindex - C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API

  •    C++

C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API

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.

CherryTree - A hierarchical note taking application

  •    C++

A hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single xml or sqlite file.

tree-grid-directive - Need one or more maintainer for this! comment or email me if you are interested

  •    Javascript

A grid to display data in tree structure by using Angular and Bootstrap. Feel free to whatever you want to do with it.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.