btree
AVL balanced generic binary trees in Go (by VictorLowther)
GoLLRB
A Left-Leaning Red-Black (LLRB) implementation of balanced binary search trees for Google Go (by petar)
btree | GoLLRB | |
---|---|---|
3 | 1 | |
18 | 787 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | over 1 year ago | |
Go | Go | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
btree
Posts with mentions or reviews of btree.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-05.
-
Do you use generics?
Generally when I feel like revisiting some CS staples and working out how to implement them idiomatically with generics. https://github.com/VictorLowther/btree is an example of this.
-
Immutable copy-on-write generic binary trees in Go
So, a couple of weeks ago, I wrote this. It does its job, and is pretty performant for what it is. However, I got to wondering how to make it work in an environment with many concurrent readers and a single writer. An rwmutex was too easy, so I decided to go ahead and make all tree modification copy-on-write instead. Turned out that it gets pretty acceptable performance with a couple of strategic performance optimizations.
- AVL balanced generic binary trees in Go
GoLLRB
Posts with mentions or reviews of GoLLRB.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-15.
-
AVL balanced generic binary trees in Go
Go has generics now, and the API surface of the most popular btree implementations llrb and google don't quite match what I like from an iteration and sorting perspective. AVL has a pretty straightforward balancing model, and it turns out to be pretty performant for what I wind up doing a lot of the time.
What are some alternatives?
When comparing btree and GoLLRB you can also consider the following projects:
btree - BTree provides a simple, ordered, in-memory data structure for Go programs.
graph - A library for creating generic graph data structures and modifying, analyzing, and visualizing them.
go-sql-builder-benchmarks - Benchmarking Golang SQL query builders
ibtree - Immutable generic balanced binary trees
sage - Trie data structure for storing and retrieving HTTP route values. Used for building Go HTTP router packages.
Mantis - Sphire Mantis is a broadly featured Go helper library with standalone packages
bob - SQL query builder and ORM/Factory generator for Go with support for PostgreSQL, MySQL and SQLite
lo - 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)