All Projects → saschagrunert → Indextree

saschagrunert / Indextree

Licence: mit
Arena based tree 🌲 structure by using indices instead of reference counted pointers

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Indextree

algorithms
Algorithms in python and C
Stars: ✭ 71 (-80.11%)
Mutual labels:  tree-structure
Perfect-Server-Side-Swift iOS-App
A family tree API server implementation with iOS client. Server has been implemented with Perfect: Server-Side Swift And iOS client is in pure Swift.
Stars: ✭ 15 (-95.8%)
Mutual labels:  tree-structure
Data Structure Php Clanguage
对于数据结构和算法类的东西,我工作有些年份了,大学也有所涉猎,积累了一些内容,不高产不母猪,打我自己脸
Stars: ✭ 299 (-16.25%)
Mutual labels:  tree-structure
treecko
A collection of functional and immutable helpers for working with tree data structures.
Stars: ✭ 31 (-91.32%)
Mutual labels:  tree-structure
Bracmat
Programming language for symbolic computation with unusual combination of pattern matching features: Tree patterns, associative patterns and expressions embedded in patterns.
Stars: ✭ 42 (-88.24%)
Mutual labels:  tree-structure
WABBIT
Wavelet Adaptive Block-Based solver for Interactions with Turbulence
Stars: ✭ 25 (-93%)
Mutual labels:  tree-structure
JoSH
[KDD 2020] Hierarchical Topic Mining via Joint Spherical Tree and Text Embedding
Stars: ✭ 55 (-84.59%)
Mutual labels:  tree-structure
Wmderland
🌳 X11 tiling window manager using space partitioning trees
Stars: ✭ 341 (-4.48%)
Mutual labels:  tree-structure
tree-json-generator
Simple JavaScript Tree Generator library
Stars: ✭ 13 (-96.36%)
Mutual labels:  tree-structure
Laravel Nestedset
Effective tree structures in Laravel 4-5
Stars: ✭ 3,045 (+752.94%)
Mutual labels:  tree-structure
Tree-GAN
Generative Adversarial Network for Tree Structured Data
Stars: ✭ 20 (-94.4%)
Mutual labels:  tree-structure
react-treefold
A renderless tree component for your hierarchical React views
Stars: ✭ 37 (-89.64%)
Mutual labels:  tree-structure
Data-structures
Data Structures in Java
Stars: ✭ 13 (-96.36%)
Mutual labels:  tree-structure
Fortress-of-Solitude
This Library has resources to solve common data structure algorithm problems like a Doubly linked list, Generic trees, Queue, Stack, and other algorithms. Each lib has an option to carry your custom data in elements. Custom data in detail, other fantastic resources.
Stars: ✭ 53 (-85.15%)
Mutual labels:  tree-structure
Vue Draggable Nested Tree
Please use the he-tree-vue, vue-draggable-nested-tree will no longer be maintained.
Stars: ✭ 302 (-15.41%)
Mutual labels:  tree-structure
Decompose
Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.), inspired by Badoos RIBs fork of the Uber RIBs framework
Stars: ✭ 799 (+123.81%)
Mutual labels:  tree-structure
GraphView
Android GraphView is used to display data in graph structures.
Stars: ✭ 952 (+166.67%)
Mutual labels:  tree-structure
Decompose
Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.)
Stars: ✭ 339 (-5.04%)
Mutual labels:  tree-structure
Bstreeview
Bootstrap Treeview, A very simple plugin to build a basic and elegant Treeview with bootstrap 4. See the demo:
Stars: ✭ 308 (-13.73%)
Mutual labels:  tree-structure
bright
Blazing fast parser for BrightScript that gives you ESTree like AST
Stars: ✭ 28 (-92.16%)
Mutual labels:  tree-structure

indextree

Build status Build Status Build status Coverage Dependency Status Doc indextree License MIT Crates.io doc.rs

Arena based tree structure with multithreading support

This arena tree structure is using just a single Vec and numerical identifiers (indices in the vector) instead of reference counted pointers. This means there is no RefCell and mutability is handled in a way much more idiomatic to Rust through unique (&mut) access to the arena. The tree can be sent or shared across threads like a Vec. This enables general multiprocessing support like parallel tree traversals.

Example usage

use indextree::Arena;

// Create a new arena
let arena = &mut Arena::new();

// Add some new nodes to the arena
let a = arena.new_node(1);
let b = arena.new_node(2);

// Append a to b
assert!(a.append(b, arena).is_ok());
assert_eq!(b.ancestors(arena).into_iter().count(), 2);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].