garro95
garro95
The order is arbitrary but deterministic, in the sense that you can repeat the exact same experiment with the same results, but equal element inserted in a certain order can...
Yes. And also ```rust use priority_queue::PriorityQueue; use hashbrown::hash_map::DefaultHashBuilder; fn main() { let mut a = PriorityQueue::new(); let mut b = PriorityQueue::::with_default_hasher(); a.push("Apples", 1); b.push("Apples", 1); a.push("Oranges", 1); b.push("Oranges", 1); a.push("Pears",...
Sorting (even using the heapsort) is O(n * log(n)), which is worse then O(n). If you just need to iterate without removing the elements, I think the best you can...
It is an interesting proposal. Even though I am not sure the complexity you found in correct, I agree that probably the operation would be faster if done internally. I...
I did not implement this API because I was not able to find an efficient way to prune the heap. If you know a good algorithm to do that, I...
If you need a `PriorityQueue` that can extract at any time the greatest or the lowest priority, you can use the [`DoublePriorityQueue`](https://docs.rs/priority-queue/latest/priority_queue/double_priority_queue/struct.DoublePriorityQueue.html) data structure. It features two methods: `pop_max()` and...
Apart from the question, I think you should call `sort_keys` in a lazy way just before the lookup and not after each insertion. But this may depend on the specific...
### Goal Node For the goal node, I think another viable option is to have an enum like ```rust enum Goal { AllNodes, Node(NodeIndex), IsGoal(F), // the unique goal node...
I like this solution
Serde is enabled with the "serde" feature and also related tests are run with the feature. travis.yml should be updated accordingly