High-Speed-Priority-Queue-for-C-Sharp
High-Speed-Priority-Queue-for-C-Sharp copied to clipboard
A C# priority queue optimized for pathfinding applications
Version used: 5.1.0 .net Version used: netstandard2.1 Project SDK: Godot.NET.Sdk/3.3.0 IDE: Rider Priority queue used: FastPriorityQueue When working on my AI in my game I noticed the AI behaving not...
Currently enumerating the priority queue enumerates the nodes in (semi-)arbitrary order. We should * Add enumerator functions to explicitly enumerate in `fast` and `ordered` order * Make it clear in...
* Add `SimplePriorityQueue.TryDequeue()` overload with `out TPriority` parameter and relevant unit tests * Add `SimplePriorityQueue.TryRemove()` overload with `out TPriority` parameter and relevant unit tests * Add `SimplePriorityQueue.TryFirst()` overload with `out...
Should be able to get a big speed gain in `GenericPriorityQueue` if number comparison JITs into a single `CMP` instruction _(the current method using `Comparison` does not)_. In fact if...
Currently, the NuGet package for this project targets .NET Standard 1.0, as well as a a coulple other .NET framework targets:  I propose that, in addition to the current...
# Overview When working with priority queues it's often useful to be able to access the priority of the head node as you dequeue it. This is especially common in...
`int`s are nearly always faster than `float`s. Given how popular this library has become, and how many people are using it for non-pathfinding applications, it would be nice to have...
There are too many queues sharing primarily the same code. Using generics is not an option because priority-comparison turns out to be too slow. I should look into Text Templates...
I'm using a `SimplePriorityQueue`, where `TItem : GenericPriorityQueueNode` and `TPriority : IComparable`; i.e., my Node class is derived from `GenericPriorityQueueNode` and uses a custom struct as the priority. The prioritization...