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
$ dotnet add package MoreComplexDataStructuresNo README available.