sdsl-lite
gring
sdsl-lite | gring | |
---|---|---|
5 | 1 | |
2,174 | 3 | |
- | - | |
0.0 | 10.0 | |
11 months ago | over 6 years ago | |
C++ | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
sdsl-lite
- SDSL – Succinct Data Structure Library
-
Ask HN: What are some 'cool' but obscure data structures you know about?
Succinct Data Structures [0] [1]. It encompass many different underlying data structure types but the overarching idea is that you want small data size while still keeping "big O" run time.
In other words, data structures that effectively reach a 'practical' entropy lower bound while still keeping asymptotic run time.
[0] https://en.wikipedia.org/wiki/Succinct_data_structure
[1] https://github.com/simongog/sdsl-lite
-
SDSL-RS: A Rust interface for the C++ Succinct Data Structure Library.
The book mentioned in another comment is probably the best way to go. But FYI, documentation for some data structures include references. An SDSL-lite example can be found here. And its equivalent in SDSL-RS can be found here.
gring
-
Ask HN: What are some 'cool' but obscure data structures you know about?
Not super obscure, but I remember that one specific time when circular-linked-list made a lot of sense to use, well I wanted to use it so I used it.
I had a bunch of API keys with poor expiry documentation and implementation, so to find out if a key expired it had to be used. I put it in a main "keys.pop loop" and all methods below tried to use the key. If HTTP response was (some another obscure HTTP response code like) 505, I simply called `continue;` in the loop to jump to another, without caring at all where I was before.
https://github.com/atedja/gring
What are some alternatives?
plurid-data-structures-typescript - Utility Data Structures Implemented in TypeScript
PSI - Private Set Intersection Cardinality protocol based on ECDH and Bloom Filters
sdsl-lite - Succinct Data Structure Library 3.0
pyroscope - Continuous Profiling Platform. Debug performance issues down to a single line of code
minisketch - Minisketch: an optimized library for BCH-based set reconciliation
multiversion-concurrency-control - Implementation of multiversion concurrency control, Raft, Left Right concurrency Hashmaps and a multi consumer multi producer Ringbuffer, concurrent and parallel load-balanced loops, parallel actors implementation in Main.java, Actor2.java and a parallel interpreter
dictomaton - Finite state dictionaries in Java
asami - A graph store for Clojure and ClojureScript
pyroscope - Continuous Profiling Platform. Debug performance issues down to a single line of code [Moved to: https://github.com/grafana/pyroscope]
AspNetCoreDiagnosticScenarios - This repository has examples of broken patterns in ASP.NET Core applications
ctrie-java - Java implementation of a concurrent trie