High-Speed-Priority-Queue-for-C-Sharp icon indicating copy to clipboard operation
High-Speed-Priority-Queue-for-C-Sharp copied to clipboard

A C# priority queue optimized for pathfinding applications

Results 9 High-Speed-Priority-Queue-for-C-Sharp issues
Sort by recently updated
recently updated
newest added

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: ![image](https://user-images.githubusercontent.com/6090062/137994994-f05f5b6f-ba10-43af-816e-a1c85808cfe1.png) 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...