MoreStructures 0.0.5
See the version list below for details.
dotnet add package MoreStructures --version 0.0.5
NuGet\Install-Package MoreStructures -Version 0.0.5
<PackageReference Include="MoreStructures" Version="0.0.5" />
paket add MoreStructures --version 0.0.5
#r "nuget: MoreStructures, 0.0.5"
// Install MoreStructures as a Cake Addin #addin nuget:?package=MoreStructures&version=0.0.5 // Install MoreStructures as a Cake Tool #tool nuget:?package=MoreStructures&version=0.0.5
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;
- Graphs shortest distance: Dijkstra, Bellman-Ford, BFS-based;
- 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.
Install
Via NuGet Package Manager:
Install-Package MoreStructures
Via dotnet
CLI:
dotnet add package MoreStructures
Build
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.
Status
Documentation
The latest documentation for the .NET Libraries is available here.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- morelinq (>= 3.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.