Comments (2)
I do agree that this is not obvious. But I guess the returned nodes in the tree with duplicates are not exactly random, they just depend on the traversal direction and insertion order.
Actually would be interesting to introduce a test for that
from avl.
Yup that's true they're not random in the rand() sense, but for the library user who is not aware of the implementation, it's one of those "it is implementation-defined which node you get" which is effectively the same :)
It's better to have predictable behavior if the user has chosen noDuplicates===false
FYI I just edited the OP above to add noDuplicates-related dox to range() too. I realized the same issue applies to range()
from avl.
Related Issues (20)
- split/join functionality HOT 3
- Fix reassignment of the keys in delete operation HOT 4
- Promise-based avl HOT 2
- Async functions HOT 1
- Support pop of the maximum
- Load presort option not documented
- Bulk load is recursive HOT 2
- Add removeNode HOT 1
- feature proposal: iterable interfaces HOT 10
- Tree is not a function HOT 3
- Tree crashes on insert HOT 1
- isEmpty() doesnt seem to work HOT 2
- better function naming at API for "pop" & "popMax"
- suggested new API funcs (with code): find_ge() and find_gt()
- suggested optimization for range() HOT 1
- find(key) not working HOT 1
- remove() returns a key, not a node
- Merging @foxglove/avl upstream? HOT 6
- suggestion: let the remove operation preserve node identity HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from avl.