42 packages tagged with “trie”
A library containing useful data structures like Trees, Tries, Sparse Arrays, Bloom Filters and indexing tailored dictionaries.
A trie (prefix tree) data structure implementation in C#.
DBreeze database key features: - Embedded .NET family assembly, platform independent and without references to other libraries. - Multi-threaded, ACID compliant, with a solution for deadlocks resolving/elimination, parallel reads and synchronized writes/reads. - No fixed scheme for table names (construction and access on the fly). - Tables can reside in mixed locations: different folders, hard drives, memory, in-memory with disk persistence. - Liana-Trie indexing technology. Database indexes (keys) never need to be defragmented. Speed of insert/update/remove operations doesn't change during the time. - Ability to access Key/Value pair of a table by physical link, that can economize time for joining necessary data structures. - No limits for database size (except "long" size for each table and physical resources constraints). - Low memory and physical space consumption, also while random inserts and updates. Updates reside the same physical space, when possible or configured. - High performance of CRUD operations. When you need, unleash DBreeze power and get 500000 key/value pairs insert or 260K updates per second per core into sorted table on the hard drive of standard PC (benchmark in year 2012). - High speed of random keys batch inserts and updates (update mode is selectable). - Range selects / Traversing (Forward, Backward, From/To, Skip, StartsWith etc). Remove keys, change keys. - Keys and values, on the low level, are always byte arrays. - Max. key size is 65KB, max. value size is 2GB. Value can be represented as a set of columns, where can be stored data types of fixed or dynamic length. Every dynamic datablock (BLOB) can be of size 2GB. - Rich set of conversion functions from/to between byte[] and other data types. - Nested / Fractal tables which can reside inside of master tables values. - Incremental backup/restore option. - Integrated text-search subsystem (full-text/partial). - Integrated object database layer. - Fast multi-parameter search subsystem with powerful query possibilities. - Integrated Vector Database and vector similarity search engine (embedding vectors store/search). - Integrated binary and JSON serializer Biser.NET - High Availability, Redundancy and Fault Tolerance via Raft.NET - DBreeze is a foundation for complex data storage solutions (graph/neuro, object, document, text search etc. data layers). Please, study documentation to understand all abilities of DBreeze. hhblaze@gmail.com
Levenshtypo is a high-performance fuzzy string matcher for .NET. It lets you perform typo-tolerant lookups on large string datasets using a fast Trie + Levenshtein Automaton approach. Ideal for search boxes, spell-checking, command matchers, and voice/OCR normalization. Supports: - Levenshtein and Restricted Edit distances - Efficient Trie indexing - Raw Levenshtein Automaton generation Blazing fast. Alloc-friendly. Plug-and-play.
Very fast C# implementation of Aho Corasick algorithm based on Double Array Trie: efficient text search of many substrings with O(n) complexity. Automata state may be efficiently serialized to binary stream.
A utility library for comparing strings via trie (prefix tree) similarity
A generic trie and concurrent trie implementation. Part of the "Open" set of libraries.
Trie (a.k.a. prefix tree) is an ordered tree data structure that is used to store an associative array where the keys are usually strings. All the descendants of a node have a common prefix of the string associated with that node, and the root is associated with the empty string.
Wordament solver that handles an arbitrary number of special tiles, finds the many-to-many word-path relationships, and approximates a best path.
Apache Shiro styled permission manager.
字典前缀树,扩展词的自定义扩展信息
A library containing optimized collections for doing prefix searches, useful for implementating autocomplete or typeahead functionality.
A simple implementation of Trie (aka. Prefix Tree), referenced from: https://leetcode.com/articles/implement-trie-prefix-tree/
.NET Implementations of Trie Data Structures for Substring Search, Auto-completion and Intelli-sense. Includes: patricia trie, suffix trie and a trie implementation using Ukkonen's algorithm. This is a modern .NET update for the old TrieNet package.
字典前缀树
This TRIE works with any chain of keys (IEnumerable<TKey>) and not just strings. Also, in addition to regular TRIE functions, this one returns the number of matching prefixes in O(l) where l is the length of the prefix.
A simple immutable prefix tree / trie implementation
Modified Merkle Patricia Trie library for Bryllite.
This project was inspired by the source code for the system intern immutable collections. It expands on the idea of a strong enumerable with a strong enumerator instead of the usual interface. This improves performance in foreach-loops massively the bigger the dataset gets. Additionally adds some minor extension methods for all collections. For more information visit the [wiki](https://github.com/Narumikazuchi/Collections/wiki).
A generic Trie implementation with an abstracted storage pattern for simple replacement with more complex storage needs.
A few trie implementations for the storage of sets, facilitating fast retrieval of subsets and supersets of a query term.
Autocomplete trie search is a powerful technique used in information retrieval systems to provide fast and accurate suggestions to users as they type in their queries. This technique uses a trie data structure to store a set of strings, enabling quick and efficient prefix-based search. As the user types in their query, the autocomplete trie search algorithm traverses the trie to find all possible completions of the prefix, returning a list of suggestions ranked by relevance. This technique is commonly used in search engines, text editors, and other applications that require fast and accurate query completion. With its ability to provide real-time suggestions, autocomplete trie search enhances the user experience, making it easier for users to find the information they need quickly and efficiently.
A Trie (Prefix tree) which only stores the latest N most used words. Support predict words based on a prefix used in autocomplete fields. It uses a double a Trie in combination with a double linked list to store only an specific number of words, if more words are added over the capacity, the least used words will be removed from the trie.
DBreezeBased Features: DBreezeBased enables Google-like search in your application. Works on Servers/Desktops/Mobile Platforms Xamarin/MONO/.NET Standalone and In-Transactional modes (separate or existing DBreeze instances and shared transactions) Can search words and words parts among documents/objects using AND/OR logic Flexible search settings / fast speed of storage / amazing speed of search hhblaze@gmail.com
C# implementation of a Trie (prefix tree) that is IEnumerable. You may conduct a prefix tree and not have to run on the trie all the way to it's end - just for the amount of results you need. This is perfect for autocomplete or any other scenario where you may want a fixed amount of results yielded in every search.
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
General purpose data structures and algorithms mostly to cover the functionallity or performance gap in the framework. Includes: ProrityQueue, Bag, SymboleTable, Trie, UnionFind, Search Trees (BST, OST, RBT), sorting and graph algorithms.
A high-performance trie implementation with native Rust backend.
A spatial index backed by geohashing and Trie (prefix tree) maps. Geometries are encoded as geohashes and stored in a prefix tree, and reverse lookups are performing by encoding the queried geometry and using the prefix tree as an inverted lookup index. The index size can be tuned with the precision parameter. The geohasher and prefix tree map providers can be injected by implementing the IGeohasher and/or IGeohashTrieMap interfaces.
A spatial index backed by geohashing and Trie (prefix tree) maps. Geometries are encoded as geohashes and stored in a prefix tree, and reverse lookups are performing by encoding the queried geometry and using the prefix tree as an inverted lookup index. The index size can be tuned with the precision parameter. The geohasher and prefix tree map providers can be injected by implementing the IGeohasher and/or IGeohashTrieMap interfaces. This package provides common spatial operations that can be used on an index, such as STContains(), STIntersects(), and so on. A complete overview is available at the project site.