MoreComplexDataStructures is a class library containing a collection of data structures (plus related utility classes) more complex than those found in the standard .NET framework.
The project currently contains the following data structures and utility classes...
WeightBalancedTree<T> - A weight-balanced binary search tree
MinHeap<T> - A tree-based min heap
MaxHeap<T> - A tree-based max heap
PriorityQueue<T> - A tree-based double-ended priority queue
Trie<T> - A trie (or prefix tree)
CharacterTrie - A trie which stores characters (with some performance enhancements over Trie<Char>)
WeightedRandomGenerator<T> - A weighted random number (or item) generator
UniqueRandomGenerator - A random number generator guaranteed to always produce unique numbers within a given range
FrequencyTable<T> - A frequency table
LRUCache<TKey, TValue> - A simple least recently used cache
UnflaggedNumberGenerator - Allows the 'flagging' (marking) of numbers in a specified range, and provides methods to identify numbers which were not flagged
LongIntegerStatusStorer - Stores a boolean status for a complete set of long integers
ListRandomizer - Randomizes the elements of a list using the Fisher/Yates/Knuth algorithm
See the version list below for details.
Install-Package MoreComplexDataStructures -Version 1.7.0
dotnet add package MoreComplexDataStructures --version 1.7.0
<PackageReference Include="MoreComplexDataStructures" Version="1.7.0" />
paket add MoreComplexDataStructures --version 1.7.0
Optimized the WeightBalancedTree balancing algorithm to include both standard rotations and splay tree zig-zag operations.
- No dependencies.
This package is not used by any popular GitHub repositories.