Flux.Collections
1.4.1-alpha
dotnet add package Flux.Collections --version 1.4.1-alpha
NuGet\Install-Package Flux.Collections -Version 1.4.1-alpha
<PackageReference Include="Flux.Collections" Version="1.4.1-alpha" />
paket add Flux.Collections --version 1.4.1-alpha
#r "nuget: Flux.Collections, 1.4.1-alpha"
// Install Flux.Collections as a Cake Addin #addin nuget:?package=Flux.Collections&version=1.4.1-alpha&prerelease // Install Flux.Collections as a Cake Tool #tool nuget:?package=Flux.Collections&version=1.4.1-alpha&prerelease
What is Flux.Collections
Flux.Collections is a set of functional data structures.
Hash Array Mapped Trie (Map and Set)
HamtMap and HamtSet are both based on the same idea of using a trie and the keys' hash to store the key-value pairs. Clojure's map is a well known implementation of a Hamt.
Both have a O(log<sub>32</sub>) or O(log<sub>64</sub>) (depending on the prefix size used at compile time) time complexity for insert, find and delete operations.
SkewBinaryRandomAccessList[^1]
This is a random access list that supports the list operations const, head, tail, but allows O(log<sub>2</sub>) access to any element by its index.
Queues[^1]
Queue and RealTimeQueue are just queues. Queue has a O(1) amortized time for inserting and popping items, while RealTimeQueue has a O(1) time for the same operations. However in a long sequence of operations, Queue should have a better overall performance than it's real time counterpart.
SkewBinomialHeap[^1]
It's a heap (priority queue) using an idea similar to that of the SkewBinaryRandomAccessList
Stream[^1]
Stream is a lazy list implementation.
[^1]: Based on Chris Okasaki's "Purely Functional Data Structures"
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- FSharp.Core (>= 8.0.301)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Flux.Collections:
Package | Downloads |
---|---|
Flux.Concurrency
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.4.1-alpha | 116 | 7/20/2024 |
1.4.0-alpha | 177 | 12/4/2023 |
1.3.7-alpha | 201 | 8/30/2021 |
1.3.6-alpha | 187 | 8/23/2021 |
1.3.5-alpha | 196 | 8/21/2021 |
1.3.4-alpha | 195 | 8/21/2021 |
1.2.1-alpha | 200 | 8/16/2021 |
1.1.1-alpha | 297 | 5/29/2020 |