bst VS bst

Compare bst vs bst and see what are their differences.

bst

Exploring the design space of binary search trees (by rtheunissen)

bst

Well Factored, Non-Recursive, General & Generic BSTs in ANSI C (by c-blake)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
bst bst
3 2
40 2
- -
3.5 2.4
15 days ago 9 months ago
HTML C
MIT 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.

bst

Posts with mentions or reviews of bst. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-09.
  • What Cannot Be Skipped About the Skiplist: A Survey of Skiplists and Their Appl
    3 projects | news.ycombinator.com | 9 Mar 2024
    Zip trees are novel but their performance (and therefore also skip lists, since they are isomorphic) lacks behind other linked structures like Treaps and especially LBSTs. [1] I personally find skip lists to be overhyped binary search trees in disguise.

    [1] https://rtheunissen.github.io/bst

  • Using memory arenas and Go benchmarking to explore binary search trees
    1 project | /r/golang | 17 Aug 2023
  • Exploring the design space of binary search trees
    3 projects | news.ycombinator.com | 15 Aug 2023
    Thank you for sharing this resource, I was not aware of it. I am happy to see the inclusion of LBSTs there too.

    Re: binary symmetry, if I'm understanding correctly, another author that makes use of the symmetry is Ben Pfaff in libavl [1]. At the top of [2], which seems a bit misplaced now, I wrote:

    > A choice was made to not unify the symmetric cases using the direction-based technique of Ben Pfaff and others because it makes the logic more difficult to follow even though there would be less code overall.

    The choice of Go was to provide implementations that are both reliable to benchmark (though not as robust as C or Rust for example) but also easy to read. I would like to further reduce abstraction by decomposing common parts such that all the strategies are "one-file" references. This is then effectively the opposite of what the macro-based implementation achieves. Both have value, of course.

    [1] https://adtinfo.org/libavl.html/BST-Node-Structure.html

    [2] https://github.com/rtheunissen/bst/blob/main/trees/avl_botto...

bst

Posts with mentions or reviews of bst. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-15.
  • Exploring the design space of binary search trees
    3 projects | news.ycombinator.com | 15 Aug 2023
    If you like this article then you might also be interested in: https://github.com/c-blake/bst interesting

    It's ANSI C with a bespoke macro generics system not Go, does not cover as many balancing rules, and is not written up as nicely. It does do something only weakly represented in your Go impls, AFAICT - "binary symmetry" - the reflection about left-right intrinsic to most ideas in this area. (Mehlhorn has a book that does this, but that is the only other source I know.) It also has API considerations like seek-edit separation and how to handle in-tree duplicate key FIFO/LIFO/etc (as opposed to values which are also collections).

    Also, Re: B-trees among several comments - edit heavy B-trees with large nodes (driven by IO bandwidth-delay products) need some "mini-scalable" structure for their nodes since shifting (on average) half the entries can cost. That mini-scale could be another B-tree or it could be a binary search tree, perhaps adjusted to have 2-byte sized pointers into the little arena that is a node if 64Knode is enough. I once heard Sybase (now Microsoft SQL Server?) used skip lists. Anyway, this may be a remaining use case for binary trees even in the presence of a B-tree.

  • The Rust compiler has gotten faster again
    8 projects | news.ycombinator.com | 11 Nov 2021
    While I agree the common pattern is to use void*/dynamic dispatch, this is not necessary. E.g., https://github.com/glouw/ctl/ or https://github.com/c-blake/bst show a couple ways to have generic code statically specialized in regular old C.

What are some alternatives?

When comparing bst and bst you can also consider the following projects:

ext-ds - An extension providing efficient data structures for PHP 7

ctl - The C Template Library

pyc - A Python to C compiler