MoreComplexDataStructures (nuget): 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
Keywords: data|structure|weight|weighted|balanced|tree|binary|search|minheap|maxheap|trie|priority|queue|frequency|table|long|integer|int64|random|randomize|list|array|unique|generate|lru|cache