dotnet add package MoreStructures --version 0.0.7
NuGet\Install-Package MoreStructures -Version 0.0.7
<PackageReference Include="MoreStructures" Version="0.0.7" />
paket add MoreStructures --version 0.0.7
#r "nuget: MoreStructures, 0.0.7"
// Install MoreStructures as a Cake Addin #addin nuget:?package=MoreStructures&version=0.0.7 // Install MoreStructures as a Cake Tool #tool nuget:?package=MoreStructures&version=0.0.7
Data structures and algorithms for .NET6
MoreStructures is a library of classical algorithms and data structures, written 100% in (safe, managed) C# 10, for .NET 6 and above.
Built for fun and education, it has been implemented with readability and maintenability in mind, minimizing external dependencies and trying to make it easy for everybody to modify and extend.
All its public API are documented and it is fully unit tested, with more than 2400 test scenarios and 100% line and branch coverage.
Data structures implemented include:
- Stacks: array-list, linked-list;
- Queues: array-list, linked-list;
- Priority Queues: array-list, binary heaps, binomial heaps, Fibonacci heaps;
- Disjoint Sets: quick find, quick union, weighted, path compression;
- Trees: recursive immutable n-ary trees;
- Graphs: edge list, adjacency list, adjacency matrix;
- Suffix Trees: edge compression;
- Suffix Tries: standard.
Algorithms implemented include:
- String sorting: counting sort, quicksort;
- List searching: linear, binary;
- List sorting: selection, insertion, Shell, heap;
- String matching: Burrows-Wheeler transform, suffix arrays, Knuth-Morris-Pratt;
- Tree augmentation: counting;
- Tree visit: DFS, BFS, in iterative and recursive forms;
- Graphs visits: DFS, BFS, in iterative and recursive forms;
- Graphs minimum spanning tree: Kruskal, Prim;
- Graphs shortest distance: Dijkstra, bidirectional Dijkstra, Bellman-Ford, BFS-based, A*, bidirectional A*;
- Graphs shortest path: BFS-based;
- Graphs topological sorting: DFS on each vertex, any path to sink, single DFS sink-based;
- Graphs strongly connected components: sink-based;
- Suffix Trees construction: naive, Ukkonen, LCP-based;
- Suffix Trees matching: exact pattern matching, shortest non-shared substring;
- Suffix Tries construction: naive;
- Suffix Tries matching: exact pattern matching.
Via NuGet Package Manager:
dotnet add package MoreStructures
The latest detailed Tests Report for the .NET Libraries is available here.
The latest detailed Code Coverage Report for the .NET Libraries is available here.
The latest documentation for the .NET Libraries is available here.
|.NET||net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows|
- morelinq (>= 3.3.2)
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.