PBCD.Algorithms 1.0.6705.25959

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.

There is a newer version of this package available.
See the version list below for details.
Install-Package PBCD.Algorithms -Version 1.0.6705.25959
dotnet add package PBCD.Algorithms --version 1.0.6705.25959
<PackageReference Include="PBCD.Algorithms" Version="1.0.6705.25959" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PBCD.Algorithms --version 1.0.6705.25959
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

See Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne

Here is the repository of this package.

The main name space is called Algorithms which includes the following sub name spaces:

  • ComputationalGeometry
  • DataStructure
  • Graphs
  • Randomization
  • SearchTree
  • Sort
  • ComputationalGeometry
    • ConvexHull: Gets a set of 2D points and returns a subset of them representing the smallest convex polygon that includes all points.
  • DataStructure
    • PriorityQueue: There are two implemented versions this DS, MaxPriorityQueue and MaxPriorityQueue.
    • UnionFind_QU: Uses Quick-Union algorithm for calculating connectec components in O(1). Each component is presented by a number.
  • Graphs
    • Digraph
      • Digraph: Represents a directed graph. This
      • TopologicalSort: Gets a digraph and return their IDs sorted topological
      • DirectedBFS: Gets a digraph and the index of the source vertex and calculates the path to every other vertex (if existing) using Depth-first search algorithm. HasPathTo(v) costs O(1) to check if there is a path to vertex v.
      • DirectedDFS: Same as DirectedBFS but uses Breadth-first search algorithm.
      • SCC_KosarajuSharir : Uses Kosaraju Sharir Algorithm (TopologicalSort class) to calcualte Strongly connected component
    • BipartiteGraph: Departs the graph into two groups if possible and returns true. Otherwise returns false
    • BreadthFirstPaths
    • DepthFirstPaths
    • ConnectedComponents
    • Graph
  • Randomization
    • WeightedRandom: Randomly select specified number of items from the list.The items with higher weight are in the result with higher probability.
  • SearchTree
    • BinarySearchTree
    • RedBlackTree: It is a Left Leaning Red-Black tree (LLRB Tree)
    • OST: Order Statistics Tree is a RedBlack tree which is able to return the rank of each elements
  • Sort : All sorts of sorts

See Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne

Here is the repository of this package.

The main name space is called Algorithms which includes the following sub name spaces:

  • ComputationalGeometry
  • DataStructure
  • Graphs
  • Randomization
  • SearchTree
  • Sort
  • ComputationalGeometry
    • ConvexHull: Gets a set of 2D points and returns a subset of them representing the smallest convex polygon that includes all points.
  • DataStructure
    • PriorityQueue: There are two implemented versions this DS, MaxPriorityQueue and MaxPriorityQueue.
    • UnionFind_QU: Uses Quick-Union algorithm for calculating connectec components in O(1). Each component is presented by a number.
  • Graphs
    • Digraph
      • Digraph: Represents a directed graph. This
      • TopologicalSort: Gets a digraph and return their IDs sorted topological
      • DirectedBFS: Gets a digraph and the index of the source vertex and calculates the path to every other vertex (if existing) using Depth-first search algorithm. HasPathTo(v) costs O(1) to check if there is a path to vertex v.
      • DirectedDFS: Same as DirectedBFS but uses Breadth-first search algorithm.
      • SCC_KosarajuSharir : Uses Kosaraju Sharir Algorithm (TopologicalSort class) to calcualte Strongly connected component
    • BipartiteGraph: Departs the graph into two groups if possible and returns true. Otherwise returns false
    • BreadthFirstPaths
    • DepthFirstPaths
    • ConnectedComponents
    • Graph
  • Randomization
    • WeightedRandom: Randomly select specified number of items from the list.The items with higher weight are in the result with higher probability.
  • SearchTree
    • BinarySearchTree
    • RedBlackTree: It is a Left Leaning Red-Black tree (LLRB Tree)
    • OST: Order Statistics Tree is a RedBlack tree which is able to return the rank of each elements
  • Sort : All sorts of sorts

Release Notes

This is the first published package

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.6717.20626 237 5/23/2018
1.0.6709.20566 198 5/15/2018
1.0.6705.25959 209 5/11/2018
1.0.6703.28604 235 5/9/2018