Data Structure for Dynamic Discrete Probability Distributions

by jlrubinon 4/21/2025, 7:16 PMwith 1 comments

by jlrubinon 4/21/2025, 7:16 PM

Options like std::discrete_distribution don't allow updates, in Rust e.g. https://docs.rs/rand_distr/latest/rand_distr/weighted/struct... allows updates but sampling is O(log n) and updating is also O(log n).

This neat data structure has a great set of tradeoffs.