diff --git a/Advanced.Algorithms.Tests/Distributed/AsyncQueue_Tests.cs b/Advanced.Algorithms.Tests/Distributed/AsyncQueue_Tests.cs index d670f006..bb12e13f 100644 --- a/Advanced.Algorithms.Tests/Distributed/AsyncQueue_Tests.cs +++ b/Advanced.Algorithms.Tests/Distributed/AsyncQueue_Tests.cs @@ -31,7 +31,7 @@ public void AsyncQueue_Test() //multi-threaded async producer tasks.AddRange(Enumerable.Range(1, testDataCount).Select(async x => { - await Task.Delay(random.Next(0, 2)); + await Task.Delay(random.Next(0, 1)); await producerLock.WaitAsync(); @@ -46,7 +46,7 @@ public void AsyncQueue_Test() //multi-threaded async consumer tasks.AddRange(Enumerable.Range(1, testDataCount).Select(async x => { - await Task.Delay(random.Next(0, 2)); + await Task.Delay(random.Next(0, 1)); await consumerLock.WaitAsync(); diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/DiGraph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/DiGraph.cs index 9136d8e7..b7b0de72 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/DiGraph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/DiGraph.cs @@ -114,7 +114,7 @@ public void AddEdge(T source, T dest) } /// - /// Remove an existing edge between source & destination. + /// Remove an existing edge between source and destination. /// Time complexity: O(1). /// public void RemoveEdge(T source, T dest) @@ -218,7 +218,7 @@ public IEnumerator GetEnumerator() } /// - /// DiGraph vertex. + /// DiGraph vertex for adjacency list Graph implementation. /// IEnumerable enumerates all the outgoing edge destination vertices. /// public class DiGraphVertex : IEnumerable diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/Graph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/Graph.cs index 1a1a7f36..4c56af9e 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/Graph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/Graph.cs @@ -62,7 +62,6 @@ public GraphVertex AddVertex(T value) /// Remove an existing vertex from this graph. /// Time complexity: O(V) where V is the number of vertices. /// - /// public void RemoveVertex(T vertex) { if (vertex == null) @@ -188,7 +187,7 @@ public IEnumerator GetEnumerator() } /// - /// Graph vertex. + /// Graph vertex for adjacency list Graph implementation. /// IEnumerable enumerates all the outgoing edge destination vertices. /// public class GraphVertex : IEnumerable diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedDiGraph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedDiGraph.cs index 558496b5..eeb28cb0 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedDiGraph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedDiGraph.cs @@ -224,7 +224,7 @@ public IEnumerator GetEnumerator() } /// - /// A weighted graph vertex. + /// A weighted graph vertex for adjacency list Graph implementation. /// IEnumerable enumerates all the outgoing edge destination vertices. /// public class WeightedDiGraphVertex : IEnumerable where TW : IComparable diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedGraph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedGraph.cs index 9e152752..9e4c18c9 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedGraph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyList/WeightedGraph.cs @@ -181,9 +181,9 @@ public IEnumerator GetEnumerator() return Vertices.Select(x => x.Key).GetEnumerator(); } } - + /// - /// A weighted graph vertex. + /// A weighted graph vertex for adjacency list Graph implementation. /// IEnumerable enumerates all the outgoing edge destination vertices. /// public class WeightedGraphVertex : IEnumerable where TW : IComparable diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/DiGraph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/DiGraph.cs index a3b42b5c..c5770ed5 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/DiGraph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/DiGraph.cs @@ -74,7 +74,6 @@ public void AddVertex(T value) /// Remove an existing vertex from graph /// Time complexity: O(V) where V is the number of vertices. /// - /// public void RemoveVertex(T value) { if (value == null) @@ -112,8 +111,6 @@ public void RemoveVertex(T value) /// add an edge from source to destination vertex /// Time complexity: O(1). /// - /// - /// public void AddEdge(T source, T dest) { if (source == null || dest == null) @@ -137,7 +134,7 @@ public void AddEdge(T source, T dest) } /// - /// remove an existing edge between source & destination + /// remove an existing edge between source and destination /// Time complexity: O(1). /// public void RemoveEdge(T source, T dest) diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/Graph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/Graph.cs index 40e84001..094f7518 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/Graph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/Graph.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix { @@ -9,7 +10,7 @@ namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix /// A directed graph implementation using dynamically growinng/shrinking adjacency matrix array. /// IEnumerable enumerates all vertices. /// - public class Graph + public class Graph : IEnumerable { public int VerticesCount => usedSize; @@ -135,7 +136,7 @@ public void AddEdge(T source, T dest) } /// - /// Remove an existing edge between source & destination. + /// Remove an existing edge between source and destination. /// Time complexity: O(1). /// public void RemoveEdge(T source, T dest) @@ -298,5 +299,15 @@ private void halfMatrixSize() reverseVertexIndices = newReverseIndices; maxSize /= 2; } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public IEnumerator GetEnumerator() + { + return vertexIndices.Select(x => x.Key).GetEnumerator(); + } } } diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedDiGraph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedDiGraph.cs index 9f216764..0631be03 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedDiGraph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedDiGraph.cs @@ -1,5 +1,7 @@ using System; +using System.Collections; using System.Collections.Generic; +using System.Linq; namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix { @@ -7,7 +9,7 @@ namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix /// A weighted graph implementation using dynamically growinng/shrinking adjacency matrix array. /// IEnumerable enumerates all vertices. /// - public class WeightedDiGraph where TW : IComparable + public class WeightedDiGraph : IEnumerable where TW : IComparable { public int VerticesCount => usedSize; @@ -301,5 +303,15 @@ private void halfMatrixSize() reverseVertexIndices = newReverseIndices; maxSize /= 2; } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public IEnumerator GetEnumerator() + { + return vertexIndices.Select(x => x.Key).GetEnumerator(); + } } } diff --git a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedGraph.cs b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedGraph.cs index 4bd9df16..1efe1cf7 100644 --- a/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedGraph.cs +++ b/Advanced.Algorithms/DataStructures/Graph/AdjacencyMatrix/WeightedGraph.cs @@ -1,5 +1,7 @@ using System; +using System.Collections; using System.Collections.Generic; +using System.Linq; namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix { @@ -7,7 +9,7 @@ namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix /// A weighted graph implementation using dynamically growinng/shrinking adjacency matrix array. /// IEnumerable enumerates all vertices. /// - public class WeightedGraph where TW : IComparable + public class WeightedGraph : IEnumerable where TW : IComparable { public int VerticesCount => usedSize; @@ -288,5 +290,15 @@ private void halfMatrixSize() reverseVertexIndices = newReverseIndices; maxSize /= 2; } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public IEnumerator GetEnumerator() + { + return vertexIndices.Select(x => x.Key).GetEnumerator(); + } } } diff --git a/Advanced.Algorithms/DataStructures/Heap/Max/BinomialMaxHeap.cs b/Advanced.Algorithms/DataStructures/Heap/Max/BinomialMaxHeap.cs index 37bf6cf3..e8e0c43c 100644 --- a/Advanced.Algorithms/DataStructures/Heap/Max/BinomialMaxHeap.cs +++ b/Advanced.Algorithms/DataStructures/Heap/Max/BinomialMaxHeap.cs @@ -135,7 +135,6 @@ public void Merge(BinomialMaxHeap binomialHeap) /// /// Time complexity: O(log(n)). /// - /// public T PeekMax() { if (heapForest.Head == null) @@ -184,7 +183,7 @@ private void meld() cur = next; next = cur.Next; } - //degress of cur & next are same + //degress of cur and next are same else { //case 2 next degree equals next-next degree diff --git a/Advanced.Algorithms/DataStructures/Heap/Max/FibornacciMaxHeap.cs b/Advanced.Algorithms/DataStructures/Heap/Max/FibornacciMaxHeap.cs index 9b858128..205cdb51 100644 --- a/Advanced.Algorithms/DataStructures/Heap/Max/FibornacciMaxHeap.cs +++ b/Advanced.Algorithms/DataStructures/Heap/Max/FibornacciMaxHeap.cs @@ -291,7 +291,6 @@ private void cut(FibornacciHeapNode node) /// /// Merges the given fibornacci node list to current Forest /// - /// private void mergeForests(FibornacciHeapNode headPointer) { var current = headPointer; diff --git a/Advanced.Algorithms/DataStructures/Heap/Min/BinomialMinHeap.cs b/Advanced.Algorithms/DataStructures/Heap/Min/BinomialMinHeap.cs index bfd98e5c..16177b98 100644 --- a/Advanced.Algorithms/DataStructures/Heap/Min/BinomialMinHeap.cs +++ b/Advanced.Algorithms/DataStructures/Heap/Min/BinomialMinHeap.cs @@ -135,7 +135,6 @@ public void Merge(BinomialMinHeap binomialHeap) /// /// Time complexity: O(log(n)). /// - /// public T PeekMin() { if (heapForest.Head == null) @@ -184,7 +183,7 @@ private void meld() cur = next; next = cur.Next; } - //degress of cur & next are same + //degress of cur and next are same else { //case 2 next degree equals next-next degree @@ -228,7 +227,7 @@ private void meld() /// /// Merges the given sorted forest to current sorted Forest - /// & returns the last inserted node (pointer required for decrement-key) + /// and returns the last inserted node (pointer required for decrement-key) /// private void mergeSortedForests(DoublyLinkedList> newHeapForest) { diff --git a/Advanced.Algorithms/DataStructures/Heap/Min/FibornacciMinHeap.cs b/Advanced.Algorithms/DataStructures/Heap/Min/FibornacciMinHeap.cs index 69e55174..45020065 100644 --- a/Advanced.Algorithms/DataStructures/Heap/Min/FibornacciMinHeap.cs +++ b/Advanced.Algorithms/DataStructures/Heap/Min/FibornacciMinHeap.cs @@ -288,7 +288,6 @@ private void cut(FibornacciHeapNode node) /// /// Merges the given fibornacci node list to current Forest /// - /// private void mergeForests(FibornacciHeapNode headPointer) { var current = headPointer; diff --git a/Advanced.Algorithms/DataStructures/LinkedList/DoublyLinkedList.cs b/Advanced.Algorithms/DataStructures/LinkedList/DoublyLinkedList.cs index fefd007b..4b47176c 100644 --- a/Advanced.Algorithms/DataStructures/LinkedList/DoublyLinkedList.cs +++ b/Advanced.Algorithms/DataStructures/LinkedList/DoublyLinkedList.cs @@ -198,7 +198,7 @@ public T DeleteFirst() /// Delete tail node. /// Time complexity: O(1) /// - /// + /// public T DeleteLast() { if (Tail == null) @@ -344,7 +344,7 @@ internal void Union(DoublyLinkedList newList) /// /// Time complexity: O(1). /// - /// + /// public bool IsEmpty() => Head == null; /// diff --git a/Advanced.Algorithms/DataStructures/LinkedList/SinglyLinkedList.cs b/Advanced.Algorithms/DataStructures/LinkedList/SinglyLinkedList.cs index 6b3a9793..e10aa315 100644 --- a/Advanced.Algorithms/DataStructures/LinkedList/SinglyLinkedList.cs +++ b/Advanced.Algorithms/DataStructures/LinkedList/SinglyLinkedList.cs @@ -51,7 +51,6 @@ public void InsertLast(T data) /// /// Time complexity: O(1). /// - /// public T DeleteFirst() { if (Head == null) @@ -69,7 +68,6 @@ public T DeleteFirst() /// /// Time complexity: O(n). /// - /// public T DeleteLast() { if (Head == null) diff --git a/Advanced.Algorithms/DataStructures/List/ArrayList.cs b/Advanced.Algorithms/DataStructures/List/ArrayList.cs index 9cbc1153..c1efaea1 100644 --- a/Advanced.Algorithms/DataStructures/List/ArrayList.cs +++ b/Advanced.Algorithms/DataStructures/List/ArrayList.cs @@ -56,7 +56,6 @@ public ArrayList(IEnumerable initial) /// Time complexity: O(1). /// /// The index to write or read. - /// public T this[int index] { get => itemAt(index); @@ -75,7 +74,6 @@ private T itemAt(int i) /// Add a new item to this array list. /// Time complexity: O(1) amortized. /// - /// public void Add(T item) { grow(); diff --git a/Advanced.Algorithms/DataStructures/List/SkipList.cs b/Advanced.Algorithms/DataStructures/List/SkipList.cs index ba8065b4..113c17fd 100644 --- a/Advanced.Algorithms/DataStructures/List/SkipList.cs +++ b/Advanced.Algorithms/DataStructures/List/SkipList.cs @@ -41,8 +41,6 @@ public SkipList(int maxHeight = 32) /// If item is not found default value of T will be returned. /// Time complexity: O(log(n)). /// - /// - /// public T Find(T value) { var current = Head; diff --git a/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MaxPriorityQueue.cs b/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MaxPriorityQueue.cs index b8b6b203..3aaa126b 100644 --- a/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MaxPriorityQueue.cs +++ b/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MaxPriorityQueue.cs @@ -23,7 +23,6 @@ public void Enqueue(T item) /// /// Time complexity:O(log(n)). /// - /// public T Dequeue() { return maxHeap.ExtractMax(); @@ -32,7 +31,6 @@ public T Dequeue() /// /// Time complexity:O(1). /// - /// public T Peek() { return maxHeap.PeekMax(); diff --git a/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MinPriorityQueue.cs b/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MinPriorityQueue.cs index e8276cf6..d2c19a37 100644 --- a/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MinPriorityQueue.cs +++ b/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MinPriorityQueue.cs @@ -31,7 +31,6 @@ public T Dequeue() /// /// Time complexity:O(1). /// - /// public T Peek() { return minHeap.PeekMin(); diff --git a/Advanced.Algorithms/DataStructures/Queues/Queue.cs b/Advanced.Algorithms/DataStructures/Queues/Queue.cs index 4857443a..73cd368c 100644 --- a/Advanced.Algorithms/DataStructures/Queues/Queue.cs +++ b/Advanced.Algorithms/DataStructures/Queues/Queue.cs @@ -31,7 +31,6 @@ public Queue(QueueType type = QueueType.Array) /// /// Time complexity:O(1). /// - /// public void Enqueue(T item) { queue.Enqueue(item); @@ -40,7 +39,6 @@ public void Enqueue(T item) /// /// Time complexity:O(1). /// - /// public T Dequeue() { return queue.Dequeue(); diff --git a/Advanced.Algorithms/DataStructures/Tree/AvlTree.cs b/Advanced.Algorithms/DataStructures/Tree/AvlTree.cs index 576885c2..e52a2c90 100644 --- a/Advanced.Algorithms/DataStructures/Tree/AvlTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/AvlTree.cs @@ -122,7 +122,7 @@ private void insert(AVLTreeNode node, T value) /// - /// Time complexity: O(log(n)) + /// Time complexity: O(log(n)). /// public void Delete(T value) { @@ -280,7 +280,7 @@ private void delete(AVLTreeNode node, T value) } /// - /// Time complexity: O(log(n)) + /// Time complexity: O(log(n)). /// public T FindMax() { @@ -302,7 +302,7 @@ private AVLTreeNode findMax(AVLTreeNode node) } /// - /// Time complexity: O(log(n)) + /// Time complexity: O(log(n)). /// public T FindMin() { @@ -323,7 +323,7 @@ private AVLTreeNode findMin(AVLTreeNode node) } /// - /// Time complexity: O(log(n)) + /// Time complexity: O(log(n)). /// public bool Contains(T value) { @@ -536,7 +536,7 @@ private void UpdateHeight(AVLTreeNode node) } /// - /// Get the value previous to given value in this BST. + /// Get the next lower value to given value in this BST. /// Time complexity: O(log(n)) /// public T NextLower(T value) @@ -552,7 +552,7 @@ public T NextLower(T value) } /// - /// Get the value next to given value in this BST. + /// Get the next higher value to given value in this BST. /// Time complexity: O(log(n)) /// public T NextHigher(T value) diff --git a/Advanced.Algorithms/DataStructures/Tree/B+Tree.cs b/Advanced.Algorithms/DataStructures/Tree/B+Tree.cs index f6895be0..4e179180 100644 --- a/Advanced.Algorithms/DataStructures/Tree/B+Tree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/B+Tree.cs @@ -183,7 +183,7 @@ private void insertAndSplit(ref BpTreeNode node, T newValue, //and insert new median to parent if (node.KeyCount == maxKeysPerNode) { - //divide the current node values + new Node as left & right sub nodes + //divide the current node values + new Node as left and right sub nodes var left = new BpTreeNode(maxKeysPerNode, null); var right = new BpTreeNode(maxKeysPerNode, null); @@ -227,7 +227,7 @@ private void insertAndSplit(ref BpTreeNode node, T newValue, var insertionCount = 0; //insert newValue and existing values in sorted order - //to left & right nodes + //to left and right nodes //set new median during sorting for (var i = 0; i < node.KeyCount; i++) { @@ -276,8 +276,8 @@ private void insertAndSplit(ref BpTreeNode node, T newValue, } - //pick the smaller among newValue & node.Keys[i] - //and insert in to currentNode (left & right nodes) + //pick the smaller among newValue and node.Keys[i] + //and insert in to currentNode (left and right nodes) //if new Value was already inserted then just copy from node.Keys in sequence //since node.Keys is already in sorted order it should be fine if (newValueInserted || node.Keys[i].CompareTo(newValue) < 0) @@ -543,7 +543,7 @@ private void sandwich(BpTreeNode leftSibling, BpTreeNode rightSibling, T d var newNode = new BpTreeNode(maxKeysPerNode, leftSibling.Parent); - //if leaves are merged then update the Next & Prev pointers + //if leaves are merged then update the Next and Prev pointers if (leftSibling.IsLeaf) { if (leftSibling.Prev != null) @@ -943,18 +943,16 @@ internal BpTreeNode(int maxKeysPerNode, BpTreeNode parent) } /// - /// For shared test method accross B & B+ tree + /// For shared test method accross B and B+ tree /// - /// internal override BNode GetParent() { return Parent; } /// - /// For shared test method accross B & B+ tree + /// For shared test method accross B and B+ tree /// - /// internal override BNode[] GetChildren() { return Children; diff --git a/Advanced.Algorithms/DataStructures/Tree/BST.cs b/Advanced.Algorithms/DataStructures/Tree/BST.cs index 05b581f0..fa4470f2 100644 --- a/Advanced.Algorithms/DataStructures/Tree/BST.cs +++ b/Advanced.Algorithms/DataStructures/Tree/BST.cs @@ -8,7 +8,6 @@ namespace Advanced.Algorithms.DataStructures /// /// A binary search tree implementation. /// - /// public class BST : IEnumerable where T : IComparable { internal BSTNode Root { get; set; } @@ -361,11 +360,9 @@ private BSTNodeBase find(T value) } /// - /// Get the value previous to given value in this BST. + /// Get the next lower value to given value in this BST. /// Time complexity: O(n) /// - /// - /// public T NextLower(T value) { var node = find(value); @@ -379,11 +376,9 @@ public T NextLower(T value) } /// - /// Get the value next to given value in this BST. + /// Get the next higher value to given value in this BST. /// Time complexity: O(n) /// - /// - /// public T NextHigher(T value) { var node = find(value); diff --git a/Advanced.Algorithms/DataStructures/Tree/BTree.cs b/Advanced.Algorithms/DataStructures/Tree/BTree.cs index 3a19c231..bf479574 100644 --- a/Advanced.Algorithms/DataStructures/Tree/BTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/BTree.cs @@ -182,7 +182,7 @@ private void insertAndSplit(ref BTreeNode node, T newValue, //and insert new median to parent if (node.KeyCount == maxKeysPerNode) { - //divide the current node values + new Node as left & right sub nodes + //divide the current node values + new Node as left and right sub nodes var left = new BTreeNode(maxKeysPerNode, null); var right = new BTreeNode(maxKeysPerNode, null); @@ -202,7 +202,7 @@ private void insertAndSplit(ref BTreeNode node, T newValue, var insertionCount = 0; //insert newValue and existing values in sorted order - //to left & right nodes + //to left and right nodes //set new median during sorting for (var i = 0; i < node.KeyCount; i++) { @@ -251,8 +251,8 @@ private void insertAndSplit(ref BTreeNode node, T newValue, } - //pick the smaller among newValue & node.Keys[i] - //and insert in to currentNode (left & right nodes) + //pick the smaller among newValue and node.Keys[i] + //and insert in to currentNode (left and right nodes) //if new Value was already inserted then just copy from node.Keys in sequence //since node.Keys is already in sorted order it should be fine if (newValueInserted || node.Keys[i].CompareTo(newValue) < 0) @@ -757,8 +757,8 @@ public IEnumerator GetEnumerator() } /// - /// abstract node shared by both B & B+ tree nodes - /// so that we can use this for common tests across B & B+ tree + /// abstract node shared by both B and B+ tree nodes + /// so that we can use this for common tests across B and B+ tree /// internal abstract class BNode where T : IComparable { @@ -770,7 +770,7 @@ internal abstract class BNode where T : IComparable internal T[] Keys { get; set; } internal int KeyCount; - //for common unit testing across B & B+ tree + //for common unit testing across B and B+ tree internal abstract BNode GetParent(); internal abstract BNode[] GetChildren(); @@ -803,7 +803,7 @@ internal BTreeNode(int maxKeysPerNode, BTreeNode parent) } /// - /// For shared test method accross B & B+ tree + /// For shared test method accross B and B+ tree /// internal override BNode GetParent() { @@ -811,7 +811,7 @@ internal override BNode GetParent() } /// - /// For shared test method accross B & B+ tree + /// For shared test method accross B and B+ tree /// internal override BNode[] GetChildren() { diff --git a/Advanced.Algorithms/DataStructures/Tree/K_DTree.cs b/Advanced.Algorithms/DataStructures/Tree/K_DTree.cs index 26c78b01..be5da787 100644 --- a/Advanced.Algorithms/DataStructures/Tree/K_DTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/K_DTree.cs @@ -436,7 +436,7 @@ private List rangeSearch(List result, } /// - /// Is the point in node is within start & end points. + /// Is the point in node is within start and end points. /// private bool inRange(KDTreeNode node, T[] start, T[] end) { diff --git a/Advanced.Algorithms/DataStructures/Tree/RTree.cs b/Advanced.Algorithms/DataStructures/Tree/RTree.cs index f1e4925e..5a781c1b 100644 --- a/Advanced.Algorithms/DataStructures/Tree/RTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/RTree.cs @@ -357,7 +357,7 @@ private void updateIndex(RTreeNode[] children, int keyCount, int index) private void condenseTree(RTreeNode updatedleaf) { var current = updatedleaf; - var toReinsert = new System.Collections.Generic.Stack(); + var toReinsert = new Stack(); while (current != Root) { diff --git a/Advanced.Algorithms/DataStructures/Tree/RangeTree.cs b/Advanced.Algorithms/DataStructures/Tree/RangeTree.cs index 3f43e47e..86d44a7f 100644 --- a/Advanced.Algorithms/DataStructures/Tree/RangeTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/RangeTree.cs @@ -53,7 +53,6 @@ public void Insert(T[] value) /// /// Time complexity: O(n). /// - /// public void Delete(T[] value) { validateDimensions(value); @@ -310,7 +309,7 @@ private List> getInRange(List> result, Diction /// private bool inRange(RedBlackTreeNode> currentNode, T start, T end) { - //start is less than current & end is greater than current + //start is less than current and end is greater than current return start.CompareTo(currentNode.Value.Value) <= 0 && end.CompareTo(currentNode.Value.Value) >= 0; } diff --git a/Advanced.Algorithms/DataStructures/Tree/RedBlackTree.cs b/Advanced.Algorithms/DataStructures/Tree/RedBlackTree.cs index c562248c..e42b9aa9 100644 --- a/Advanced.Algorithms/DataStructures/Tree/RedBlackTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/RedBlackTree.cs @@ -7,7 +7,6 @@ namespace Advanced.Algorithms.DataStructures /// /// A red black tree implementation. /// - /// public class RedBlackTree : IEnumerable where T : IComparable { private readonly Dictionary> nodeLookUp; @@ -75,11 +74,6 @@ private RedBlackTreeNode findMax(RedBlackTreeNode node) return node.FindMax() as RedBlackTreeNode; } - private RedBlackTreeNode findMin(RedBlackTreeNode node) - { - return node.FindMin() as RedBlackTreeNode; - } - /// /// Time complexity: O(log(n)) /// @@ -703,10 +697,8 @@ private RedBlackTreeNode handleDoubleBlack(RedBlackTreeNode node) } /// - /// Get the value previous to given value in this BST. + /// Get the next lower value to given value in this BST. /// - /// - /// public T NextLower(T value) { var node = FindNode(value); @@ -720,10 +712,8 @@ public T NextLower(T value) } /// - /// Get the value next to given value in this BST. + /// Get the next higher to given value in this BST. /// - /// - /// public T NextHigher(T value) { var node = FindNode(value); @@ -783,7 +773,6 @@ internal enum RedBlackTreeNodeColor /// /// Red black tree node /// - /// internal class RedBlackTreeNode : BSTNodeBase where T : IComparable { internal new RedBlackTreeNode Parent diff --git a/Advanced.Algorithms/DataStructures/Tree/SplayTree.cs b/Advanced.Algorithms/DataStructures/Tree/SplayTree.cs index 61554ee1..45fe7c79 100644 --- a/Advanced.Algorithms/DataStructures/Tree/SplayTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/SplayTree.cs @@ -7,7 +7,6 @@ namespace Advanced.Algorithms.DataStructures /// /// A splay tree implementation. /// - /// public class SplayTree : IEnumerable where T : IComparable { private SplayTreeNode root { get; set; } @@ -439,7 +438,7 @@ private BSTNodeBase find(T value) } /// - /// Get the value previous to given value in this BST. + /// Get the next lower value to given value in this BST. /// Time complexity: O(n). /// public T NextLower(T value) @@ -455,7 +454,7 @@ public T NextLower(T value) } /// - /// Get the value next to given value in this BST. + /// Get the next higher value to given value in this BST. /// Time complexity: O(n). /// public T NextHigher(T value) diff --git a/Advanced.Algorithms/DataStructures/Tree/TernarySearchTree.cs b/Advanced.Algorithms/DataStructures/Tree/TernarySearchTree.cs index d3a73d8a..a99506d6 100644 --- a/Advanced.Algorithms/DataStructures/Tree/TernarySearchTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/TernarySearchTree.cs @@ -5,6 +5,9 @@ namespace Advanced.Algorithms.DataStructures { + /// + /// A ternary search tree implementation. + /// public class TernarySearchTree : IEnumerable where T : IComparable { private TernarySearchTreeNode root; @@ -84,7 +87,6 @@ private void insert(ref TernarySearchTreeNode currentNode, /// Deletes a record from this ternary search tree. /// Time complexity: O(m) where m is the length of entry. /// - /// public void Delete(T[] entry) { delete(root, entry, 0); diff --git a/Advanced.Algorithms/DataStructures/Tree/TreapTree.cs b/Advanced.Algorithms/DataStructures/Tree/TreapTree.cs index 1e5f019c..f924d215 100644 --- a/Advanced.Algorithms/DataStructures/Tree/TreapTree.cs +++ b/Advanced.Algorithms/DataStructures/Tree/TreapTree.cs @@ -334,8 +334,6 @@ private void heapify(TreapTreeNode node) /// /// Rotates current root right and returns the new root node /// - /// - /// private TreapTreeNode rightRotate(TreapTreeNode currentRoot) { var prevRoot = currentRoot; @@ -381,8 +379,6 @@ private TreapTreeNode rightRotate(TreapTreeNode currentRoot) /// /// Rotates the current root left and returns new root /// - /// - /// private TreapTreeNode leftRotate(TreapTreeNode currentRoot) { var prevRoot = currentRoot; @@ -434,7 +430,7 @@ private BSTNodeBase find(T value) } /// - /// Get the value previous to given value in this BST. + /// Get the next lower value to given value in this BST. /// Time complexity: O(n). /// public T NextLower(T value) @@ -450,7 +446,7 @@ public T NextLower(T value) } /// - /// Get the value previous to given value in this BST. + /// Get the next higher value to given value in this BST. /// Time complexity: O(n). /// public T NextHigher(T value) diff --git a/Advanced.Algorithms/Distributed/AsyncQueue.cs b/Advanced.Algorithms/Distributed/AsyncQueue.cs index 15ac50e8..69e992d3 100644 --- a/Advanced.Algorithms/Distributed/AsyncQueue.cs +++ b/Advanced.Algorithms/Distributed/AsyncQueue.cs @@ -12,24 +12,17 @@ internal class AsyncQueue //data queue. private readonly Queue queue = new Queue(); - //consumer task queue & lock. + //consumer task queue and lock. private readonly Queue> consumerQueue = new Queue>(); private SemaphoreSlim consumerQueueLock = new SemaphoreSlim(1); - private CancellationToken taskCancellationToken; - - internal AsyncQueue(CancellationToken taskCancellationToken = default(CancellationToken)) - { - this.taskCancellationToken = taskCancellationToken; - } - /// /// Supports multi-threaded producers. /// Time complexity: O(1). /// - internal async Task EnqueueAsync(T value) + internal async Task EnqueueAsync(T value, CancellationToken taskCancellationToken = default(CancellationToken)) { - await consumerQueueLock.WaitAsync(); + await consumerQueueLock.WaitAsync(taskCancellationToken); if(consumerQueue.Count > 0) { @@ -48,9 +41,9 @@ internal async Task EnqueueAsync(T value) /// Supports multi-threaded consumers. /// Time complexity: O(1). /// - internal async Task DequeueAsync() + internal async Task DequeueAsync(CancellationToken taskCancellationToken = default(CancellationToken)) { - await consumerQueueLock.WaitAsync(); + await consumerQueueLock.WaitAsync(taskCancellationToken); if (queue.Count > 0) { diff --git a/Advanced.Algorithms/Distributed/CircularQueue.cs b/Advanced.Algorithms/Distributed/CircularQueue.cs index ac87d864..be00b977 100644 --- a/Advanced.Algorithms/Distributed/CircularQueue.cs +++ b/Advanced.Algorithms/Distributed/CircularQueue.cs @@ -7,7 +7,6 @@ namespace Advanced.Algorithms.Distributed /// /// Cicular queue aka Ring Buffer using fixed size array. /// - /// public class CircularQueue { private T[] queue; diff --git a/Advanced.Algorithms/Geometry/LineIntersection.cs b/Advanced.Algorithms/Geometry/LineIntersection.cs index 8ba04179..8ea6e538 100644 --- a/Advanced.Algorithms/Geometry/LineIntersection.cs +++ b/Advanced.Algorithms/Geometry/LineIntersection.cs @@ -97,7 +97,7 @@ internal static Point FindIntersection(Line lineA, Line lineB, double tolerance) //=> -m1x1 + y1 = c1 ----(1) //assume equation of line 2 as y2 = m2x2 + c2 //=> -m2x2 + y2 = c2 -----(2) - //if line 1 and 2 intersect then x1=x2=x & y1=y2=y where (x,y) is the intersection point + //if line 1 and 2 intersect then x1=x2=x and y1=y2=y where (x,y) is the intersection point //so we will get below two equations //-m1x + y = c1 --------(3) //-m2x + y = c2 --------(4) @@ -136,7 +136,7 @@ internal static Point FindIntersection(Line lineA, Line lineB, double tolerance) x = x3; y = c1 + m1 * x3; } - //lineA & lineB are not vertical + //lineA and lineB are not vertical //(could be horizontal we can handle it with slope = 0) else { @@ -148,13 +148,13 @@ internal static Point FindIntersection(Line lineA, Line lineB, double tolerance) double m2 = (y4 - y3) / (x4 - x3); double c2 = -m2 * x3 + y3; - //solving equations (3) & (4) => x = (c1-c2)/(m2-m1) + //solving equations (3) and (4) => x = (c1-c2)/(m2-m1) //plugging x value in equation (4) => y = c2 + m2 * x x = (c1 - c2) / (m2 - m1); y = c2 + m2 * x; //verify by plugging intersection point (x, y) - //in orginal equations (1) & (2) to see if they intersect + //in orginal equations (1) and (2) to see if they intersect //otherwise x,y values will not be finite and will fail this check if (!(Math.Abs(-m1 * x + y - c1) < tolerance && Math.Abs(-m2 * x + y - c2) < tolerance)) diff --git a/Advanced.Algorithms/Geometry/PointInsidePolygon.cs b/Advanced.Algorithms/Geometry/PointInsidePolygon.cs index 52204057..3acf04c0 100644 --- a/Advanced.Algorithms/Geometry/PointInsidePolygon.cs +++ b/Advanced.Algorithms/Geometry/PointInsidePolygon.cs @@ -1,7 +1,7 @@ namespace Advanced.Algorithms.Geometry { /// - /// Implementesa method tp Check whether a given point is inside given polygon. + /// Check whether a given point is inside given polygon. /// public class PointInsidePolygon { diff --git a/Advanced.Algorithms/Graph/Cycle/CycleDetection.cs b/Advanced.Algorithms/Graph/Cycle/CycleDetection.cs index 3007c248..db14e04c 100644 --- a/Advanced.Algorithms/Graph/Cycle/CycleDetection.cs +++ b/Advanced.Algorithms/Graph/Cycle/CycleDetection.cs @@ -6,7 +6,6 @@ namespace Advanced.Algorithms.Graph /// /// Cycle detection using Depth First Search. /// - /// public class CycleDetector { /// diff --git a/Advanced.Algorithms/Graph/Flow/EdmondsKarp.cs b/Advanced.Algorithms/Graph/Flow/EdmondsKarp.cs index ef770849..3fda842a 100644 --- a/Advanced.Algorithms/Graph/Flow/EdmondsKarp.cs +++ b/Advanced.Algorithms/Graph/Flow/EdmondsKarp.cs @@ -7,7 +7,7 @@ namespace Advanced.Algorithms.Graph /// /// An Edmond Karp max flow implementation on weighted directed graph using - /// adjacency list representation of graph & residual graph. + /// adjacency list representation of graph and residual graph. /// public class EdmondKarpMaxFlow where W : IComparable { diff --git a/Advanced.Algorithms/Graph/Flow/FordFulkerson.cs b/Advanced.Algorithms/Graph/Flow/FordFulkerson.cs index 8f0a384c..d9211c89 100644 --- a/Advanced.Algorithms/Graph/Flow/FordFulkerson.cs +++ b/Advanced.Algorithms/Graph/Flow/FordFulkerson.cs @@ -6,7 +6,7 @@ namespace Advanced.Algorithms.Graph { /// /// A ford-fulkerson max flox implementation on weighted directed graph using - /// adjacency list representation of graph & residual graph. + /// adjacency list representation of graph and residual graph. /// public class FordFulkersonMaxFlow where W : IComparable { diff --git a/Advanced.Algorithms/Graph/Flow/PushRelabel.cs b/Advanced.Algorithms/Graph/Flow/PushRelabel.cs index d46bee91..731b970a 100644 --- a/Advanced.Algorithms/Graph/Flow/PushRelabel.cs +++ b/Advanced.Algorithms/Graph/Flow/PushRelabel.cs @@ -26,7 +26,7 @@ public W ComputeMaxFlow(WeightedDiGraph graph, //clone to create a residual graph var residualGraph = createResidualGraph(graph); - //init vertex Height & Overflow object (ResidualGraphVertexStatus) + //init vertex Height and Overflow object (ResidualGraphVertexStatus) var vertexStatusMap = new Dictionary(); foreach(var vertex in residualGraph.Vertices) { @@ -118,7 +118,7 @@ private bool push(WeightedDiGraphVertex overflowVertex, foreach(var edge in overflowVertex.OutEdges) { - //if out edge has +ive weight & neighbour height is less then flow is possible + //if out edge has +ive weight and neighbour height is less then flow is possible if(edge.Value.CompareTo(operators.defaultWeight) > 0 && vertexStatusMap[edge.Key.Value].Height < vertexStatusMap[overflowVertex.Value].Height) @@ -197,7 +197,7 @@ private WeightedDiGraph createResidualGraph(WeightedDiGraph graph) } /// - /// An object to keep track of Vertex Overflow & Height. + /// An object to keep track of Vertex Overflow and Height. /// internal class ResidualGraphVertexStatus { diff --git a/Advanced.Algorithms/Graph/Matching/BiPartiteMatching.cs b/Advanced.Algorithms/Graph/Matching/BiPartiteMatching.cs index c9ca6421..55c5ddf8 100644 --- a/Advanced.Algorithms/Graph/Matching/BiPartiteMatching.cs +++ b/Advanced.Algorithms/Graph/Matching/BiPartiteMatching.cs @@ -73,7 +73,7 @@ private List> getMaxBiPartiteMatching(Graph graph, } /// - /// create a directed unit weighted graph with given dummySource to Patition 1 & Patition 2 to dummy sink. + /// create a directed unit weighted graph with given dummySource to Patition 1 and Patition 2 to dummy sink. /// private static WeightedDiGraph createFlowGraph(Graph graph, T dummySource, T dummySink, diff --git a/Advanced.Algorithms/Graph/MinimumSpanningTree/Kruskals.cs b/Advanced.Algorithms/Graph/MinimumSpanningTree/Kruskals.cs index 6f380f96..a922e28d 100644 --- a/Advanced.Algorithms/Graph/MinimumSpanningTree/Kruskals.cs +++ b/Advanced.Algorithms/Graph/MinimumSpanningTree/Kruskals.cs @@ -8,7 +8,7 @@ namespace Advanced.Algorithms.Graph { /// /// A Kruskal's alogorithm implementation - /// using merge sort & disjoint set. + /// using merge sort and disjoint set. /// public class Kruskals where TW : IComparable { @@ -16,27 +16,27 @@ public class Kruskals where TW : IComparable /// Find Minimum Spanning Tree of given weighted graph. /// /// List of MST edges - public List> + public List> FindMinimumSpanningTree(WeightedGraph graph) { - var edges = new List>(); + var edges = new List>(); //gather all unique edges - dfs(graph.ReferenceVertex, new System.Collections.Generic.HashSet(), - new Dictionary>(), + dfs(graph.ReferenceVertex, new HashSet(), + new Dictionary>(), edges); //quick sort preparation - var sortArray = new MSTEdge[edges.Count]; + var sortArray = new MSTEdge[edges.Count]; for (int i = 0; i < edges.Count; i++) { sortArray[i] = edges[i]; } //quick sort edges - var sortedEdges = MergeSort>.Sort(sortArray); + var sortedEdges = MergeSort>.Sort(sortArray); - var result = new List>(); + var result = new List>(); var disJointSet = new DisJointSet(); //create set @@ -46,7 +46,7 @@ public List> } //pick each edge one by one - //if both source & target belongs to same set + //if both source and target belongs to same set //then don't add the edge to result //otherwise add it to result and union sets for (int i = 0; i < edges.Count; i++) @@ -75,7 +75,7 @@ public List> /// Do DFS to find all unique edges. /// private void dfs(WeightedGraphVertex currentVertex, System.Collections.Generic.HashSet visitedVertices, Dictionary> visitedEdges, - List> result) + List> result) { if (!visitedVertices.Contains(currentVertex.Value)) { @@ -89,9 +89,9 @@ private void dfs(WeightedGraphVertex currentVertex, System.Collections.Ge result.Add(new MSTEdge(currentVertex.Value, edge.Key.Value, edge.Value)); //update visited edge - if(!visitedEdges.ContainsKey(currentVertex.Value)) + if (!visitedEdges.ContainsKey(currentVertex.Value)) { - visitedEdges.Add(currentVertex.Value, new System.Collections.Generic.HashSet()); + visitedEdges.Add(currentVertex.Value, new HashSet()); } visitedEdges[currentVertex.Value].Add(edge.Key.Value); @@ -99,7 +99,7 @@ private void dfs(WeightedGraphVertex currentVertex, System.Collections.Ge //update visited back edge if (!visitedEdges.ContainsKey(edge.Key.Value)) { - visitedEdges.Add(edge.Key.Value, new System.Collections.Generic.HashSet()); + visitedEdges.Add(edge.Key.Value, new HashSet()); } visitedEdges[edge.Key.Value].Add(currentVertex.Value); @@ -109,7 +109,7 @@ private void dfs(WeightedGraphVertex currentVertex, System.Collections.Ge } } - + } } diff --git a/Advanced.Algorithms/Graph/MinimumSpanningTree/Prims.cs b/Advanced.Algorithms/Graph/MinimumSpanningTree/Prims.cs index c3ab023f..40cbcf62 100644 --- a/Advanced.Algorithms/Graph/MinimumSpanningTree/Prims.cs +++ b/Advanced.Algorithms/Graph/MinimumSpanningTree/Prims.cs @@ -22,7 +22,7 @@ public List> //gather all unique edges dfs(graph, graph.ReferenceVertex, new BMinHeap>(), - new System.Collections.Generic.HashSet(), + new HashSet(), edges); return edges; @@ -34,7 +34,9 @@ public List> /// /// Use Fibornacci Min Heap to pick smallest edge neighbour /// result MST edges - private void dfs(WeightedGraph graph, WeightedGraphVertex currentVertex, BMinHeap> spanTreeNeighbours, System.Collections.Generic.HashSet spanTreeVertices, List> spanTreeEdges) + private void dfs(WeightedGraph graph, WeightedGraphVertex currentVertex, + BMinHeap> spanTreeNeighbours, HashSet spanTreeVertices, + List> spanTreeEdges) { while (true) { diff --git a/Advanced.Algorithms/Graph/ShortestPath/Dijikstra.cs b/Advanced.Algorithms/Graph/ShortestPath/Dijikstra.cs index 3acfcb45..c7bba0b6 100644 --- a/Advanced.Algorithms/Graph/ShortestPath/Dijikstra.cs +++ b/Advanced.Algorithms/Graph/ShortestPath/Dijikstra.cs @@ -118,7 +118,7 @@ public ShortestPathResult GetShortestPath(WeightedDiGraph graph, T s private ShortestPathResult tracePath(WeightedDiGraph graph, Dictionary parentMap, T source, T destination) { //trace the path - var pathStack = new System.Collections.Generic.Stack(); + var pathStack = new Stack(); pathStack.Push(destination); diff --git a/Advanced.Algorithms/Search/BoyerMoore.cs b/Advanced.Algorithms/Search/BoyerMoore.cs index eaeecca1..10db2563 100644 --- a/Advanced.Algorithms/Search/BoyerMoore.cs +++ b/Advanced.Algorithms/Search/BoyerMoore.cs @@ -7,7 +7,6 @@ namespace Advanced.Algorithms.Search /// /// A boyer-moore majority finder algorithm implementation. /// - /// public class BoyerMoore where T : IComparable { public static T FindMajority(IEnumerable input) diff --git a/Advanced.Algorithms/Search/QuickSelect.cs b/Advanced.Algorithms/Search/QuickSelect.cs index 4f3184fe..00915250 100644 --- a/Advanced.Algorithms/Search/QuickSelect.cs +++ b/Advanced.Algorithms/Search/QuickSelect.cs @@ -8,7 +8,6 @@ namespace Advanced.Algorithms.Search /// /// A quick select for Kth smallest algorithm implementation. /// - /// public class QuickSelect where T : IComparable { public static T FindSmallest(IEnumerable input, int k) diff --git a/Advanced.Algorithms/Sorting/CountingSort.cs b/Advanced.Algorithms/Sorting/CountingSort.cs index b9fb77fb..f2fce6ce 100644 --- a/Advanced.Algorithms/Sorting/CountingSort.cs +++ b/Advanced.Algorithms/Sorting/CountingSort.cs @@ -26,7 +26,7 @@ public static int[] Sort(int[] array) countArray[item]++; } - //now aggregate & assign the sum from left to right + //now aggregate and assign the sum from left to right var sum = countArray[0]; for (var i = 1; i <= max; i++) { diff --git a/Advanced.Algorithms/Sorting/InsertionSort.cs b/Advanced.Algorithms/Sorting/InsertionSort.cs index e7ef3d71..0909d450 100644 --- a/Advanced.Algorithms/Sorting/InsertionSort.cs +++ b/Advanced.Algorithms/Sorting/InsertionSort.cs @@ -5,7 +5,6 @@ namespace Advanced.Algorithms.Sorting /// /// An insertion sort implementation. /// - /// public class InsertionSort where T : IComparable { /// diff --git a/Advanced.Algorithms/Sorting/TreeSort.cs b/Advanced.Algorithms/Sorting/TreeSort.cs index 3046160f..647bec49 100644 --- a/Advanced.Algorithms/Sorting/TreeSort.cs +++ b/Advanced.Algorithms/Sorting/TreeSort.cs @@ -26,7 +26,7 @@ public static T[] Sort(T[] array) var j = 0; while (tree.Count > 0) { - //can be optimized by consolidating FindMin & Delete! + //can be optimized by consolidating FindMin and Delete! var min = tree.Min(); sortedArray[j] = min; tree.Delete(min); diff --git a/Advanced.Algorithms/String/Search/ZAlgorithm.cs b/Advanced.Algorithms/String/Search/ZAlgorithm.cs index bfbeb94a..1798a2c3 100644 --- a/Advanced.Algorithms/String/Search/ZAlgorithm.cs +++ b/Advanced.Algorithms/String/Search/ZAlgorithm.cs @@ -55,7 +55,7 @@ private int[] z(string input, int patternLength) //in result if (prefixIndex > 1) { - //z-box left & right + //z-box left and right var left = i; var right = i + prefixIndex; diff --git a/docs/api/Advanced.Algorithms.DataStructures.AVLTree-1.html b/docs/api/Advanced.Algorithms.DataStructures.AVLTree-1.html index 75be13e7..2618e9a2 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.AVLTree-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.AVLTree-1.html @@ -205,7 +205,7 @@

Methods

Contains(T)

-

Time complexity: O(log(n))

+

Time complexity: O(log(n)).

Declaration
@@ -248,7 +248,7 @@
Returns

Delete(T)

-

Time complexity: O(log(n))

+

Time complexity: O(log(n)).

Declaration
@@ -276,7 +276,7 @@
Parameters

FindMax()

-

Time complexity: O(log(n))

+

Time complexity: O(log(n)).

Declaration
@@ -302,7 +302,7 @@
Returns

FindMin()

-

Time complexity: O(log(n))

+

Time complexity: O(log(n)).

Declaration
@@ -450,7 +450,7 @@
Parameters

NextHigher(T)

-

Get the value next to given value in this BST. +

Get the next higher value to given value in this BST. Time complexity: O(log(n))

@@ -494,7 +494,7 @@
Returns

NextLower(T)

-

Get the value previous to given value in this BST. +

Get the next lower value to given value in this BST. Time complexity: O(log(n))

diff --git a/docs/api/Advanced.Algorithms.DataStructures.BST-1.html b/docs/api/Advanced.Algorithms.DataStructures.BST-1.html index a8f7688a..c9b247e1 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.BST-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.BST-1.html @@ -376,7 +376,7 @@
Parameters

NextHigher(T)

-

Get the value next to given value in this BST. +

Get the next higher value to given value in this BST. Time complexity: O(n)

@@ -420,7 +420,7 @@
Returns

NextLower(T)

-

Get the value previous to given value in this BST. +

Get the next lower value to given value in this BST. Time complexity: O(n)

diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph-1.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph-1.html index b39ac1f6..51e8361f 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph-1.html @@ -494,7 +494,9 @@
Returns

RemoveEdge(T, T)

-
+

Remove an existing edge between source and destination. +Time complexity: O(1).

+
Declaration
diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraphVertex-1.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraphVertex-1.html index afbae7cb..e707eb90 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraphVertex-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraphVertex-1.html @@ -83,7 +83,7 @@

Class DiGraphVertex<T>

-

DiGraph vertex. +

DiGraph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.GraphVertex-1.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.GraphVertex-1.html index ff79ce00..fb05506b 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.GraphVertex-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.GraphVertex-1.html @@ -83,7 +83,7 @@

Class GraphVertex<T>

-

Graph vertex. +

Graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraphVertex-2.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraphVertex-2.html index d5ffcd7a..628a3eb4 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraphVertex-2.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraphVertex-2.html @@ -83,7 +83,7 @@

Class WeightedDiGraphVertex<T, TW>

-

A weighted graph vertex. +

A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraphVertex-2.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraphVertex-2.html index 129d555a..3c6f22a7 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraphVertex-2.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraphVertex-2.html @@ -83,7 +83,7 @@

Class WeightedGraphVertex<T, TW>

-

A weighted graph vertex. +

A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.html index 3bf41f92..f23e7a24 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.html @@ -92,7 +92,7 @@

DiGraphVertex<T>

-

DiGraph vertex. +

DiGraph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

Graph<T>

@@ -100,7 +100,7 @@

GraphVertex<T>

-

Graph vertex. +

Graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

WeightedDiGraph<T, TW>

@@ -108,7 +108,7 @@

WeightedDiGraphVertex<T, TW>

-

A weighted graph vertex. +

A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

WeightedGraph<T, TW>

@@ -116,7 +116,7 @@

WeightedGraphVertex<T, TW>

-

A weighted graph vertex. +

A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices.

diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.DiGraph-1.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.DiGraph-1.html index dc16f5bd..ceb51fc1 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.DiGraph-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.DiGraph-1.html @@ -408,7 +408,9 @@
Returns

RemoveEdge(T, T)

-
+

remove an existing edge between source and destination +Time complexity: O(1).

+
Declaration
diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html index b1aa1edc..909ba5c5 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html @@ -92,6 +92,11 @@
Inheritance
Graph<T>
+
+
Implements
+ + +
Inherited Members
@@ -120,7 +125,7 @@
Namespace: Syntax
-
public class Graph<T>
+
public class Graph<T> : IEnumerable<T>, IEnumerable
Type Parameters
@@ -285,6 +290,31 @@
Returns
+
+

GetEnumerator()

+
+
+
Declaration
+
+
public IEnumerator<T> GetEnumerator()
+
+
Returns
+ + + + + + + + + + + + + +
TypeDescription
IEnumerator<T>
+ +

HasEdge(T, T)

Do we have an edge between the given source and destination? @@ -336,7 +366,9 @@

Returns

RemoveEdge(T, T)

-
+

Remove an existing edge between source and destination. +Time complexity: O(1).

+
Declaration
@@ -393,6 +425,40 @@
Parameters
+

Explicit Interface Implementations +

+ + + +

IEnumerable.GetEnumerator()

+
+
+
Declaration
+
+
IEnumerator IEnumerable.GetEnumerator()
+
+
Returns
+ + + + + + + + + + + + + +
TypeDescription
IEnumerator
+

Implements

+ +
diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html index aacd0582..3789b35f 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html @@ -92,6 +92,11 @@
Inheritance
WeightedDiGraph<T, TW>
+
+
Implements
+ + +
Inherited Members
@@ -120,8 +125,7 @@
Namespace: Syntax
-
public class WeightedDiGraph<T, TW>
-    where TW : IComparable
+
public class WeightedDiGraph<T, TW> : IEnumerable<T>, IEnumerable where TW : IComparable
Type Parameters
@@ -253,6 +257,31 @@
Parameters
+
+

GetEnumerator()

+
+
+
Declaration
+
+
public IEnumerator<T> GetEnumerator()
+
+
Returns
+ + + + + + + + + + + + + +
TypeDescription
IEnumerator<T>
+ +

HasEdge(T, T)

Do we have an edge between given source and destination? @@ -447,6 +476,40 @@

Parameters
+

Explicit Interface Implementations +

+ + + +

IEnumerable.GetEnumerator()

+
+
+
Declaration
+
+
IEnumerator IEnumerable.GetEnumerator()
+
+
Returns
+ + + + + + + + + + + + + +
TypeDescription
IEnumerator
+

Implements

+ +
diff --git a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html index c9984c06..cd9d7700 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html +++ b/docs/api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html @@ -92,6 +92,11 @@
Inheritance
WeightedGraph<T, TW>
+
+
Implements
+ + +
Inherited Members
@@ -120,8 +125,7 @@
Namespace: Syntax
-
public class WeightedGraph<T, TW>
-    where TW : IComparable
+
public class WeightedGraph<T, TW> : IEnumerable<T>, IEnumerable where TW : IComparable
Type Parameters
@@ -296,6 +300,31 @@
Returns
+
+

GetEnumerator()

+
+
+
Declaration
+
+
public IEnumerator<T> GetEnumerator()
+
+
Returns
+ + + + + + + + + + + + + +
TypeDescription
IEnumerator<T>
+ +

HasEdge(T, T)

Do we have an edge between given source and destination? @@ -406,6 +435,40 @@

Parameters
+

Explicit Interface Implementations +

+ + + +

IEnumerable.GetEnumerator()

+
+
+
Declaration
+
+
IEnumerator IEnumerable.GetEnumerator()
+
+
Returns
+ + + + + + + + + + + + + +
TypeDescription
IEnumerator
+

Implements

+ +
diff --git a/docs/api/Advanced.Algorithms.DataStructures.RedBlackTree-1.html b/docs/api/Advanced.Algorithms.DataStructures.RedBlackTree-1.html index da8f4684..16e57fb0 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.RedBlackTree-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.RedBlackTree-1.html @@ -413,7 +413,7 @@
Returns

NextHigher(T)

-

Get the value next to given value in this BST.

+

Get the next higher to given value in this BST.

Declaration
@@ -456,7 +456,7 @@
Returns

NextLower(T)

-

Get the value previous to given value in this BST.

+

Get the next lower value to given value in this BST.

Declaration
diff --git a/docs/api/Advanced.Algorithms.DataStructures.SplayTree-1.html b/docs/api/Advanced.Algorithms.DataStructures.SplayTree-1.html index e05dcf54..403faf4f 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.SplayTree-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.SplayTree-1.html @@ -376,7 +376,7 @@
Parameters

NextHigher(T)

-

Get the value next to given value in this BST. +

Get the next higher value to given value in this BST. Time complexity: O(n).

@@ -420,7 +420,7 @@
Returns

NextLower(T)

-

Get the value previous to given value in this BST. +

Get the next lower value to given value in this BST. Time complexity: O(n).

diff --git a/docs/api/Advanced.Algorithms.DataStructures.TernarySearchTree-1.html b/docs/api/Advanced.Algorithms.DataStructures.TernarySearchTree-1.html index ad08230d..5a016b28 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.TernarySearchTree-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.TernarySearchTree-1.html @@ -83,7 +83,8 @@

Class TernarySearchTree<T>

-
+

A ternary search tree implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.DataStructures.TreapTree-1.html b/docs/api/Advanced.Algorithms.DataStructures.TreapTree-1.html index 816768fd..042d5ffe 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.TreapTree-1.html +++ b/docs/api/Advanced.Algorithms.DataStructures.TreapTree-1.html @@ -376,7 +376,7 @@
Parameters

NextHigher(T)

-

Get the value previous to given value in this BST. +

Get the next higher value to given value in this BST. Time complexity: O(n).

@@ -420,7 +420,7 @@
Returns

NextLower(T)

-

Get the value previous to given value in this BST. +

Get the next lower value to given value in this BST. Time complexity: O(n).

diff --git a/docs/api/Advanced.Algorithms.DataStructures.html b/docs/api/Advanced.Algorithms.DataStructures.html index c55210b7..b51335a7 100644 --- a/docs/api/Advanced.Algorithms.DataStructures.html +++ b/docs/api/Advanced.Algorithms.DataStructures.html @@ -201,7 +201,8 @@

A suffix tree implementation using a trie.

TernarySearchTree<T>

-
+

A ternary search tree implementation.

+

TreapTree<T>

A treap tree implementation.

diff --git a/docs/api/Advanced.Algorithms.Geometry.PointInsidePolygon.html b/docs/api/Advanced.Algorithms.Geometry.PointInsidePolygon.html index 1bee7385..577b96b0 100644 --- a/docs/api/Advanced.Algorithms.Geometry.PointInsidePolygon.html +++ b/docs/api/Advanced.Algorithms.Geometry.PointInsidePolygon.html @@ -83,7 +83,7 @@

Class PointInsidePolygon

-

Implementesa method tp Check whether a given point is inside given polygon.

+

Check whether a given point is inside given polygon.

diff --git a/docs/api/Advanced.Algorithms.Geometry.html b/docs/api/Advanced.Algorithms.Geometry.html index ca6a048c..13b32927 100644 --- a/docs/api/Advanced.Algorithms.Geometry.html +++ b/docs/api/Advanced.Algorithms.Geometry.html @@ -112,7 +112,7 @@

Point

Compares two points for geometric equality implementing IEqualityComparer.

PointInsidePolygon

-

Implementesa method tp Check whether a given point is inside given polygon.

+

Check whether a given point is inside given polygon.

PointRotation

Rotates given point by given angle about given center.

diff --git a/docs/api/Advanced.Algorithms.Graph.Bridge-1.html b/docs/api/Advanced.Algorithms.Graph.Bridge-1.html index 1cc88536..de0cf555 100644 --- a/docs/api/Advanced.Algorithms.Graph.Bridge-1.html +++ b/docs/api/Advanced.Algorithms.Graph.Bridge-1.html @@ -83,7 +83,8 @@

Class Bridge<T>

-
+

The bridge object.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.EdmondKarpMaxFlow-2.html b/docs/api/Advanced.Algorithms.Graph.EdmondKarpMaxFlow-2.html index 82c70124..8f9dba05 100644 --- a/docs/api/Advanced.Algorithms.Graph.EdmondKarpMaxFlow-2.html +++ b/docs/api/Advanced.Algorithms.Graph.EdmondKarpMaxFlow-2.html @@ -83,7 +83,9 @@

Class EdmondKarpMaxFlow<T, W>

-
+

An Edmond Karp max flow implementation on weighted directed graph using +adjacency list representation of graph and residual graph.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.FloydWarshallShortestPath-2.html b/docs/api/Advanced.Algorithms.Graph.FloydWarshallShortestPath-2.html index 703a2160..1c6d3675 100644 --- a/docs/api/Advanced.Algorithms.Graph.FloydWarshallShortestPath-2.html +++ b/docs/api/Advanced.Algorithms.Graph.FloydWarshallShortestPath-2.html @@ -83,7 +83,8 @@

Class FloydWarshallShortestPath<T, W>

-
+

A floyd-warshall shortest path algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.FordFulkersonMaxFlow-2.html b/docs/api/Advanced.Algorithms.Graph.FordFulkersonMaxFlow-2.html index ff134c6d..bab5f775 100644 --- a/docs/api/Advanced.Algorithms.Graph.FordFulkersonMaxFlow-2.html +++ b/docs/api/Advanced.Algorithms.Graph.FordFulkersonMaxFlow-2.html @@ -83,7 +83,9 @@

Class FordFulkersonMaxFlow<T, W>

-
+

A ford-fulkerson max flox implementation on weighted directed graph using +adjacency list representation of graph and residual graph.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.JohnsonsShortestPath-2.html b/docs/api/Advanced.Algorithms.Graph.JohnsonsShortestPath-2.html index 4f969ea1..132bc46b 100644 --- a/docs/api/Advanced.Algorithms.Graph.JohnsonsShortestPath-2.html +++ b/docs/api/Advanced.Algorithms.Graph.JohnsonsShortestPath-2.html @@ -83,7 +83,8 @@

Class JohnsonsShortestPath<T, W>

-
+

A Johnson's shortest path algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.Kruskals-2.html b/docs/api/Advanced.Algorithms.Graph.Kruskals-2.html index ad120819..e21a3e21 100644 --- a/docs/api/Advanced.Algorithms.Graph.Kruskals-2.html +++ b/docs/api/Advanced.Algorithms.Graph.Kruskals-2.html @@ -83,7 +83,9 @@

Class Kruskals<T, TW>

-
+

A Kruskal's alogorithm implementation +using merge sort and disjoint set.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.MColorer-2.html b/docs/api/Advanced.Algorithms.Graph.MColorer-2.html index ae7d75d2..f5d673d1 100644 --- a/docs/api/Advanced.Algorithms.Graph.MColorer-2.html +++ b/docs/api/Advanced.Algorithms.Graph.MColorer-2.html @@ -83,7 +83,8 @@

Class MColorer<T, C>

-
+

An m-coloring algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.MatchEdge-1.html b/docs/api/Advanced.Algorithms.Graph.MatchEdge-1.html index e5049525..ec022bd8 100644 --- a/docs/api/Advanced.Algorithms.Graph.MatchEdge-1.html +++ b/docs/api/Advanced.Algorithms.Graph.MatchEdge-1.html @@ -83,7 +83,8 @@

Class MatchEdge<T>

-
+

The match result object.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.MinCutEdge-1.html b/docs/api/Advanced.Algorithms.Graph.MinCutEdge-1.html index d60370e7..9a7fc1dd 100644 --- a/docs/api/Advanced.Algorithms.Graph.MinCutEdge-1.html +++ b/docs/api/Advanced.Algorithms.Graph.MinCutEdge-1.html @@ -83,7 +83,8 @@

Class MinCutEdge<T>

-
+

Minimum cut result object.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.MinVertexCover-1.html b/docs/api/Advanced.Algorithms.Graph.MinVertexCover-1.html index 22ae8e16..b624325e 100644 --- a/docs/api/Advanced.Algorithms.Graph.MinVertexCover-1.html +++ b/docs/api/Advanced.Algorithms.Graph.MinVertexCover-1.html @@ -83,7 +83,8 @@

Class MinVertexCover<T>

-
+

A minimum vertex conver algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Graph.html b/docs/api/Advanced.Algorithms.Graph.html index 3a70dfce..413625ee 100644 --- a/docs/api/Advanced.Algorithms.Graph.html +++ b/docs/api/Advanced.Algorithms.Graph.html @@ -103,7 +103,8 @@

Breadth

Bread First Search implementation.

Bridge<T>

-
+

The bridge object.

+

CycleDetector<T>

Cycle detection using Depth First Search.

@@ -117,16 +118,22 @@

EdmondKarpMaxFlow<T, W>

-
+

An Edmond Karp max flow implementation on weighted directed graph using +adjacency list representation of graph and residual graph.

+

FloydWarshallShortestPath<T, W>

-
+

A floyd-warshall shortest path algorithm implementation.

+

FordFulkersonMaxFlow<T, W>

-
+

A ford-fulkerson max flox implementation on weighted directed graph using +adjacency list representation of graph and residual graph.

+

HopcroftKarpMatching<T>

Compute Max BiParitite Edges using Hopcroft Karp algorithm.

JohnsonsShortestPath<T, W>

-
+

A Johnson's shortest path algorithm implementation.

+

KahnsTopSort<T>

Find Toplogical order of a graph using Kahn's algorithm.

@@ -134,11 +141,15 @@

Kruskals<T, TW>

-
+

A Kruskal's alogorithm implementation +using merge sort and disjoint set.

+

MatchEdge<T>

-
+

The match result object.

+

MColorer<T, C>

-
+

An m-coloring algorithm implementation.

+

MColorResult<T, C>

M-coloring result object.

@@ -147,9 +158,11 @@

MinCut<T, using Edmond Karps improved Ford-Fulkerson Max Flow Algorithm.

MinCutEdge<T>

-
+

Minimum cut result object.

+

MinVertexCover<T>

-
+

A minimum vertex conver algorithm implementation.

+

MSTEdge<T, W>

Minimum spanning tree edge object.

diff --git a/docs/api/Advanced.Algorithms.Numerical.FastExponentiation.html b/docs/api/Advanced.Algorithms.Numerical.FastExponentiation.html index 5bc86201..d9a257bd 100644 --- a/docs/api/Advanced.Algorithms.Numerical.FastExponentiation.html +++ b/docs/api/Advanced.Algorithms.Numerical.FastExponentiation.html @@ -83,7 +83,8 @@

Class FastExponentiation

-
+

A fast exponentiation algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Numerical.PrimeGenerator.html b/docs/api/Advanced.Algorithms.Numerical.PrimeGenerator.html index b5970351..a0b8d387 100644 --- a/docs/api/Advanced.Algorithms.Numerical.PrimeGenerator.html +++ b/docs/api/Advanced.Algorithms.Numerical.PrimeGenerator.html @@ -83,7 +83,8 @@

Class PrimeGenerator

-
+

A prime number generation algorithm using Sieve of Eratosthenes.

+
Inheritance
@@ -126,8 +127,7 @@

Methods

GetAllPrimes(Int32)

-

Prime generation using Sieve of Eratosthenes.

-
+
Declaration
diff --git a/docs/api/Advanced.Algorithms.Numerical.html b/docs/api/Advanced.Algorithms.Numerical.html index 7b10c9ab..fd476da7 100644 --- a/docs/api/Advanced.Algorithms.Numerical.html +++ b/docs/api/Advanced.Algorithms.Numerical.html @@ -88,9 +88,11 @@

Classes

FastExponentiation

-
+

A fast exponentiation algorithm implementation.

+

PrimeGenerator

-
+

A prime number generation algorithm using Sieve of Eratosthenes.

+

PrimeTester

Tests for Prime in School method optimized.

diff --git a/docs/api/Advanced.Algorithms.Search.BinarySearch.html b/docs/api/Advanced.Algorithms.Search.BinarySearch.html index 97d81f31..0995d699 100644 --- a/docs/api/Advanced.Algorithms.Search.BinarySearch.html +++ b/docs/api/Advanced.Algorithms.Search.BinarySearch.html @@ -83,7 +83,8 @@

Class BinarySearch

-
+

A binary search algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Search.BoyerMoore-1.html b/docs/api/Advanced.Algorithms.Search.BoyerMoore-1.html index bd6ef77e..6e302464 100644 --- a/docs/api/Advanced.Algorithms.Search.BoyerMoore-1.html +++ b/docs/api/Advanced.Algorithms.Search.BoyerMoore-1.html @@ -83,7 +83,8 @@

Class BoyerMoore<T>

-
+

A boyer-moore majority finder algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Search.QuickSelect-1.html b/docs/api/Advanced.Algorithms.Search.QuickSelect-1.html index 18586cc2..0c838675 100644 --- a/docs/api/Advanced.Algorithms.Search.QuickSelect-1.html +++ b/docs/api/Advanced.Algorithms.Search.QuickSelect-1.html @@ -83,7 +83,8 @@

Class QuickSelect<T>

-
+

A quick select for Kth smallest algorithm implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Search.html b/docs/api/Advanced.Algorithms.Search.html index 1761a761..5367223a 100644 --- a/docs/api/Advanced.Algorithms.Search.html +++ b/docs/api/Advanced.Algorithms.Search.html @@ -88,11 +88,14 @@

Classes

BinarySearch

-
+

A binary search algorithm implementation.

+

BoyerMoore<T>

-
+

A boyer-moore majority finder algorithm implementation.

+

QuickSelect<T>

-
+

A quick select for Kth smallest algorithm implementation.

+
diff --git a/docs/api/Advanced.Algorithms.Sorting.BubbleSort-1.html b/docs/api/Advanced.Algorithms.Sorting.BubbleSort-1.html index 4f3b5eb1..e4c3c12c 100644 --- a/docs/api/Advanced.Algorithms.Sorting.BubbleSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.BubbleSort-1.html @@ -83,7 +83,8 @@

Class BubbleSort<T>

-
+

A bubble sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.HeapSort-1.html b/docs/api/Advanced.Algorithms.Sorting.HeapSort-1.html index 0260eb34..56c2f079 100644 --- a/docs/api/Advanced.Algorithms.Sorting.HeapSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.HeapSort-1.html @@ -83,7 +83,8 @@

Class HeapSort<T>

-
+

A heap sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.InsertionSort-1.html b/docs/api/Advanced.Algorithms.Sorting.InsertionSort-1.html index 5f1e08b9..7faf26c3 100644 --- a/docs/api/Advanced.Algorithms.Sorting.InsertionSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.InsertionSort-1.html @@ -83,7 +83,8 @@

Class InsertionSort<T>

-
+

An insertion sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.MergeSort-1.html b/docs/api/Advanced.Algorithms.Sorting.MergeSort-1.html index 62cb9dbc..a41452de 100644 --- a/docs/api/Advanced.Algorithms.Sorting.MergeSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.MergeSort-1.html @@ -83,7 +83,8 @@

Class MergeSort<T>

-
+

A merge sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.QuickSort-1.html b/docs/api/Advanced.Algorithms.Sorting.QuickSort-1.html index 797cbb0f..ab836a00 100644 --- a/docs/api/Advanced.Algorithms.Sorting.QuickSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.QuickSort-1.html @@ -83,7 +83,8 @@

Class QuickSort<T>

-
+

A quick sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.SelectionSort-1.html b/docs/api/Advanced.Algorithms.Sorting.SelectionSort-1.html index 7112237c..fd716c26 100644 --- a/docs/api/Advanced.Algorithms.Sorting.SelectionSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.SelectionSort-1.html @@ -83,7 +83,8 @@

Class SelectionSort<T>

-
+

A selection sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.TreeSort-1.html b/docs/api/Advanced.Algorithms.Sorting.TreeSort-1.html index ea7b9724..4438a6c6 100644 --- a/docs/api/Advanced.Algorithms.Sorting.TreeSort-1.html +++ b/docs/api/Advanced.Algorithms.Sorting.TreeSort-1.html @@ -83,7 +83,8 @@

Class TreeSort<T>

-
+

A tree sort implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.Sorting.html b/docs/api/Advanced.Algorithms.Sorting.html index c5e3fd35..091d2287 100644 --- a/docs/api/Advanced.Algorithms.Sorting.html +++ b/docs/api/Advanced.Algorithms.Sorting.html @@ -88,7 +88,8 @@

Classes

BubbleSort<T>

-
+

A bubble sort implementation.

+

BucketSort

A bucket sort implementation.

@@ -96,23 +97,29 @@

Countin

A counting sort implementation.

HeapSort<T>

-
+

A heap sort implementation.

+

InsertionSort<T>

-
+

An insertion sort implementation.

+

MergeSort<T>

-
+

A merge sort implementation.

+

QuickSort<T>

-
+

A quick sort implementation.

+

RadixSort

A radix sort implementation.

SelectionSort<T>

-
+

A selection sort implementation.

+

ShellSort<T>

A shell sort implementation.

TreeSort<T>

-
+

A tree sort implementation.

+
diff --git a/docs/api/Advanced.Algorithms.String.KMP.html b/docs/api/Advanced.Algorithms.String.KMP.html index a9ec52ef..6b547a2d 100644 --- a/docs/api/Advanced.Algorithms.String.KMP.html +++ b/docs/api/Advanced.Algorithms.String.KMP.html @@ -83,7 +83,7 @@

Class KMP

-

Knuth–Morris–Pratt(KMP) search implementation.

+

Knuth–Morris–Pratt(KMP) string search implementation.

diff --git a/docs/api/Advanced.Algorithms.String.RabinKarp.html b/docs/api/Advanced.Algorithms.String.RabinKarp.html index a3350dd3..f20d4da7 100644 --- a/docs/api/Advanced.Algorithms.String.RabinKarp.html +++ b/docs/api/Advanced.Algorithms.String.RabinKarp.html @@ -83,7 +83,8 @@

Class RabinKarp

-
+

A Rabin-Karp string search implementation.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.String.ZAlgorithm.html b/docs/api/Advanced.Algorithms.String.ZAlgorithm.html index 307d44f6..24682b78 100644 --- a/docs/api/Advanced.Algorithms.String.ZAlgorithm.html +++ b/docs/api/Advanced.Algorithms.String.ZAlgorithm.html @@ -83,7 +83,8 @@

Class ZAlgorithm

-
+

A Z-algorithm implementation for string search.

+
Inheritance
diff --git a/docs/api/Advanced.Algorithms.String.html b/docs/api/Advanced.Algorithms.String.html index a9055490..42f9d669 100644 --- a/docs/api/Advanced.Algorithms.String.html +++ b/docs/api/Advanced.Algorithms.String.html @@ -88,15 +88,17 @@

Classes

KMP

-

Knuth–Morris–Pratt(KMP) search implementation.

+

Knuth–Morris–Pratt(KMP) string search implementation.

ManachersPalindrome

A Manacher's longest palindrome implementation.

RabinKarp

-
+

A Rabin-Karp string search implementation.

+

ZAlgorithm

-
+

A Z-algorithm implementation for string search.

+
diff --git a/docs/index.json b/docs/index.json index 43a8000f..028fa6af 100644 --- a/docs/index.json +++ b/docs/index.json @@ -52,7 +52,7 @@ "api/Advanced.Algorithms.DataStructures.AVLTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.AVLTree-1.html", "title": "Class AVLTree | Advanced Algorithms", - "keywords": "Class AVLTree An AVL tree implementation. Inheritance Object AVLTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class AVLTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Constructors AVLTree(Boolean) Declaration public AVLTree(bool enableNodeLookUp = false) Parameters Type Name Description Boolean enableNodeLookUp Enabling lookup will fasten deletion/insertion/exists operations at the cost of additional space. Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Contains(T) Time complexity: O(log(n)) Declaration public bool Contains(T value) Parameters Type Name Description T value Returns Type Description Boolean Delete(T) Time complexity: O(log(n)) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(log(n)) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(log(n)) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(log(n)) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(log(n)) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(log(n)) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the value next to given value in this BST. Time complexity: O(log(n)) Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the value previous to given value in this BST. Time complexity: O(log(n)) Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class AVLTree An AVL tree implementation. Inheritance Object AVLTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class AVLTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Constructors AVLTree(Boolean) Declaration public AVLTree(bool enableNodeLookUp = false) Parameters Type Name Description Boolean enableNodeLookUp Enabling lookup will fasten deletion/insertion/exists operations at the cost of additional space. Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Contains(T) Time complexity: O(log(n)). Declaration public bool Contains(T value) Parameters Type Name Description T value Returns Type Description Boolean Delete(T) Time complexity: O(log(n)). Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(log(n)). Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(log(n)). Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(log(n)) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(log(n)) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(log(n)) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the next higher value to given value in this BST. Time complexity: O(log(n)) Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the next lower value to given value in this BST. Time complexity: O(log(n)) Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.BinaryTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.BinaryTree-1.html", @@ -92,7 +92,7 @@ "api/Advanced.Algorithms.DataStructures.BST-1.html": { "href": "api/Advanced.Algorithms.DataStructures.BST-1.html", "title": "Class BST | Advanced Algorithms", - "keywords": "Class BST A binary search tree implementation. Inheritance Object BST Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class BST : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(n) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(n) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(n) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator getHeight() Time complexity: O(n) Declaration public int getHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(n) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(n) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the value next to given value in this BST. Time complexity: O(n) Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the value previous to given value in this BST. Time complexity: O(n) Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class BST A binary search tree implementation. Inheritance Object BST Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class BST : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(n) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(n) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(n) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator getHeight() Time complexity: O(n) Declaration public int getHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(n) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(n) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the next higher value to given value in this BST. Time complexity: O(n) Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the next lower value to given value in this BST. Time complexity: O(n) Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.BTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.BTree-1.html", @@ -212,12 +212,12 @@ "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph-1.html", "title": "Class DiGraph | Advanced Algorithms", - "keywords": "Class DiGraph A directed graph implementation. IEnumerable enumerates all vertices. Inheritance Object DiGraph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class DiGraph : IEnumerable, IEnumerable Type Parameters Name Description T Constructors DiGraph() Declaration public DiGraph() Properties ReferenceVertex Return a reference vertex to start traversing Vertices Time complexity: O(1). Declaration public DiGraphVertex ReferenceVertex { get; } Property Value Type Description DiGraphVertex VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T) Add an edge from source to destination vertex. Time complexity: O(1). Declaration public void AddEdge(T source, T dest) Parameters Type Name Description T source T dest AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public DiGraphVertex AddVertex(T value) Parameters Type Name Description T value Returns Type Description DiGraphVertex FindVertex(T) Returns the vertex object with given value. Time complexity: O(1). Declaration public DiGraphVertex FindVertex(T value) Parameters Type Name Description T value Returns Type Description DiGraphVertex GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) Do we have an edge between the given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean InEdges(T) Declaration public IEnumerable InEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable OutEdges(T) Declaration public IEnumerable OutEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable RemoveEdge(T, T) Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove an existing vertex frm graph. Time complexity: O(V) where V is the total number of vertices in this graph. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class DiGraph A directed graph implementation. IEnumerable enumerates all vertices. Inheritance Object DiGraph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class DiGraph : IEnumerable, IEnumerable Type Parameters Name Description T Constructors DiGraph() Declaration public DiGraph() Properties ReferenceVertex Return a reference vertex to start traversing Vertices Time complexity: O(1). Declaration public DiGraphVertex ReferenceVertex { get; } Property Value Type Description DiGraphVertex VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T) Add an edge from source to destination vertex. Time complexity: O(1). Declaration public void AddEdge(T source, T dest) Parameters Type Name Description T source T dest AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public DiGraphVertex AddVertex(T value) Parameters Type Name Description T value Returns Type Description DiGraphVertex FindVertex(T) Returns the vertex object with given value. Time complexity: O(1). Declaration public DiGraphVertex FindVertex(T value) Parameters Type Name Description T value Returns Type Description DiGraphVertex GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) Do we have an edge between the given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean InEdges(T) Declaration public IEnumerable InEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable OutEdges(T) Declaration public IEnumerable OutEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable RemoveEdge(T, T) Remove an existing edge between source and destination. Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove an existing vertex frm graph. Time complexity: O(V) where V is the total number of vertices in this graph. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraphVertex-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraphVertex-1.html", "title": "Class DiGraphVertex | Advanced Algorithms", - "keywords": "Class DiGraphVertex DiGraph vertex. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object DiGraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class DiGraphVertex : IEnumerable, IEnumerable Type Parameters Name Description T Constructors DiGraphVertex(T) Declaration public DiGraphVertex(T value) Parameters Type Name Description T value Properties InEdges Declaration public HashSet> InEdges { get; set; } Property Value Type Description HashSet < DiGraphVertex > OutEdges Declaration public HashSet> OutEdges { get; set; } Property Value Type Description HashSet < DiGraphVertex > Value Declaration public T Value { get; set; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class DiGraphVertex DiGraph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object DiGraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class DiGraphVertex : IEnumerable, IEnumerable Type Parameters Name Description T Constructors DiGraphVertex(T) Declaration public DiGraphVertex(T value) Parameters Type Name Description T value Properties InEdges Declaration public HashSet> InEdges { get; set; } Property Value Type Description HashSet < DiGraphVertex > OutEdges Declaration public HashSet> OutEdges { get; set; } Property Value Type Description HashSet < DiGraphVertex > Value Declaration public T Value { get; set; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.Graph-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.Graph-1.html", @@ -227,12 +227,12 @@ "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.GraphVertex-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.GraphVertex-1.html", "title": "Class GraphVertex | Advanced Algorithms", - "keywords": "Class GraphVertex Graph vertex. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object GraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class GraphVertex : IEnumerable, IEnumerable Type Parameters Name Description T Constructors GraphVertex(T) Declaration public GraphVertex(T value) Parameters Type Name Description T value Properties Edges Declaration public HashSet> Edges { get; set; } Property Value Type Description HashSet < GraphVertex > Value Declaration public T Value { get; set; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class GraphVertex Graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object GraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class GraphVertex : IEnumerable, IEnumerable Type Parameters Name Description T Constructors GraphVertex(T) Declaration public GraphVertex(T value) Parameters Type Name Description T value Properties Edges Declaration public HashSet> Edges { get; set; } Property Value Type Description HashSet < GraphVertex > Value Declaration public T Value { get; set; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.html", "title": "Namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyList | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyList Classes DiGraph A directed graph implementation. IEnumerable enumerates all vertices. DiGraphVertex DiGraph vertex. IEnumerable enumerates all the outgoing edge destination vertices. Graph A graph implementation IEnumerable enumerates all vertices. GraphVertex Graph vertex. IEnumerable enumerates all the outgoing edge destination vertices. WeightedDiGraph A weighted graph implementation. IEnumerable enumerates all vertices. WeightedDiGraphVertex A weighted graph vertex. IEnumerable enumerates all the outgoing edge destination vertices. WeightedGraph A weighted graph implementation. IEnumerable enumerates all vertices. WeightedGraphVertex A weighted graph vertex. IEnumerable enumerates all the outgoing edge destination vertices." + "keywords": "Namespace Advanced.Algorithms.DataStructures.Graph.AdjacencyList Classes DiGraph A directed graph implementation. IEnumerable enumerates all vertices. DiGraphVertex DiGraph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. Graph A graph implementation IEnumerable enumerates all vertices. GraphVertex Graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. WeightedDiGraph A weighted graph implementation. IEnumerable enumerates all vertices. WeightedDiGraphVertex A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. WeightedGraph A weighted graph implementation. IEnumerable enumerates all vertices. WeightedGraphVertex A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices." }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraph-2.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraph-2.html", @@ -242,7 +242,7 @@ "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraphVertex-2.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedDiGraphVertex-2.html", "title": "Class WeightedDiGraphVertex | Advanced Algorithms", - "keywords": "Class WeightedDiGraphVertex A weighted graph vertex. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object WeightedDiGraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class WeightedDiGraphVertex : IEnumerable, IEnumerable where TW : IComparable Type Parameters Name Description T TW Constructors WeightedDiGraphVertex(T) Declaration public WeightedDiGraphVertex(T value) Parameters Type Name Description T value Properties InEdges Declaration public Dictionary, TW> InEdges { get; set; } Property Value Type Description Dictionary < WeightedDiGraphVertex , TW> OutEdges Declaration public Dictionary, TW> OutEdges { get; set; } Property Value Type Description Dictionary < WeightedDiGraphVertex , TW> Value Declaration public T Value { get; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class WeightedDiGraphVertex A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object WeightedDiGraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class WeightedDiGraphVertex : IEnumerable, IEnumerable where TW : IComparable Type Parameters Name Description T TW Constructors WeightedDiGraphVertex(T) Declaration public WeightedDiGraphVertex(T value) Parameters Type Name Description T value Properties InEdges Declaration public Dictionary, TW> InEdges { get; set; } Property Value Type Description Dictionary < WeightedDiGraphVertex , TW> OutEdges Declaration public Dictionary, TW> OutEdges { get; set; } Property Value Type Description Dictionary < WeightedDiGraphVertex , TW> Value Declaration public T Value { get; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraph-2.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraph-2.html", @@ -252,17 +252,17 @@ "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraphVertex-2.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyList.WeightedGraphVertex-2.html", "title": "Class WeightedGraphVertex | Advanced Algorithms", - "keywords": "Class WeightedGraphVertex A weighted graph vertex. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object WeightedGraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class WeightedGraphVertex : IEnumerable, IEnumerable where TW : IComparable Type Parameters Name Description T TW Constructors WeightedGraphVertex(T) Declaration public WeightedGraphVertex(T value) Parameters Type Name Description T value Properties Edges Declaration public Dictionary, TW> Edges { get; set; } Property Value Type Description Dictionary < WeightedGraphVertex , TW> Value Declaration public T Value { get; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class WeightedGraphVertex A weighted graph vertex for adjacency list Graph implementation. IEnumerable enumerates all the outgoing edge destination vertices. Inheritance Object WeightedGraphVertex Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyList Assembly : Advanced.Algorithms.dll Syntax public class WeightedGraphVertex : IEnumerable, IEnumerable where TW : IComparable Type Parameters Name Description T TW Constructors WeightedGraphVertex(T) Declaration public WeightedGraphVertex(T value) Parameters Type Name Description T value Properties Edges Declaration public Dictionary, TW> Edges { get; set; } Property Value Type Description Dictionary < WeightedGraphVertex , TW> Value Declaration public T Value { get; } Property Value Type Description T Methods GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.DiGraph-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.DiGraph-1.html", "title": "Class DiGraph | Advanced Algorithms", - "keywords": "Class DiGraph A directed graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object DiGraph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class DiGraph : IEnumerable, IEnumerable Type Parameters Name Description T Constructors DiGraph() Declaration public DiGraph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T) add an edge from source to destination vertex Time complexity: O(1). Declaration public void AddEdge(T source, T dest) Parameters Type Name Description T source T dest AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) do we have an edge between the given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean InEdges(T) Declaration public IEnumerable InEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable OutEdges(T) Declaration public IEnumerable OutEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable RemoveEdge(T, T) Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove an existing vertex from graph Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class DiGraph A directed graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object DiGraph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class DiGraph : IEnumerable, IEnumerable Type Parameters Name Description T Constructors DiGraph() Declaration public DiGraph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T) add an edge from source to destination vertex Time complexity: O(1). Declaration public void AddEdge(T source, T dest) Parameters Type Name Description T source T dest AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) do we have an edge between the given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean InEdges(T) Declaration public IEnumerable InEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable OutEdges(T) Declaration public IEnumerable OutEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable RemoveEdge(T, T) remove an existing edge between source and destination Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove an existing vertex from graph Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html", "title": "Class Graph | Advanced Algorithms", - "keywords": "Class Graph A directed graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object Graph Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class Graph Type Parameters Name Description T Constructors Graph() Declaration public Graph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T) Add an edge from source to destination vertex. Time complexity: O(1). Declaration public void AddEdge(T source, T dest) Parameters Type Name Description T source T dest AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value Edges(T) Declaration public IEnumerable Edges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable HasEdge(T, T) Do we have an edge between the given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean RemoveEdge(T, T) Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove an existing vertex from graph. Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value" + "keywords": "Class Graph A directed graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object Graph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class Graph : IEnumerable, IEnumerable Type Parameters Name Description T Constructors Graph() Declaration public Graph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T) Add an edge from source to destination vertex. Time complexity: O(1). Declaration public void AddEdge(T source, T dest) Parameters Type Name Description T source T dest AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value Edges(T) Declaration public IEnumerable Edges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) Do we have an edge between the given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean RemoveEdge(T, T) Remove an existing edge between source and destination. Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove an existing vertex from graph. Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.html", @@ -272,17 +272,17 @@ "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html", "title": "Class WeightedDiGraph | Advanced Algorithms", - "keywords": "Class WeightedDiGraph A weighted graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object WeightedDiGraph Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class WeightedDiGraph where TW : IComparable Type Parameters Name Description T TW Constructors WeightedDiGraph() Declaration public WeightedDiGraph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T, TW) Add a new edge to this graph. Time complexity: O(1). Declaration public void AddEdge(T source, T dest, TW weight) Parameters Type Name Description T source T dest TW weight AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value HasEdge(T, T) Do we have an edge between given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean InEdges(T) Declaration public IEnumerable> InEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable < Tuple > OutEdges(T) Declaration public IEnumerable> OutEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable < Tuple > RemoveEdge(T, T) Remove the given edge from this graph. Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove the given vertex. Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value" + "keywords": "Class WeightedDiGraph A weighted graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object WeightedDiGraph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class WeightedDiGraph : IEnumerable, IEnumerable where TW : IComparable Type Parameters Name Description T TW Constructors WeightedDiGraph() Declaration public WeightedDiGraph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T, TW) Add a new edge to this graph. Time complexity: O(1). Declaration public void AddEdge(T source, T dest, TW weight) Parameters Type Name Description T source T dest TW weight AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) Do we have an edge between given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean InEdges(T) Declaration public IEnumerable> InEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable < Tuple > OutEdges(T) Declaration public IEnumerable> OutEdges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable < Tuple > RemoveEdge(T, T) Remove the given edge from this graph. Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove the given vertex. Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html": { "href": "api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html", "title": "Class WeightedGraph | Advanced Algorithms", - "keywords": "Class WeightedGraph A weighted graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object WeightedGraph Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class WeightedGraph where TW : IComparable Type Parameters Name Description T TW Constructors WeightedGraph() Declaration public WeightedGraph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T, TW) Add a new edge to this graph with given weight and between given source and destination vertex. Time complexity: O(1). Declaration public void AddEdge(T source, T dest, TW weight) Parameters Type Name Description T source T dest TW weight AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value Edges(T) Declaration public IEnumerable> Edges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable < Tuple > HasEdge(T, T) Do we have an edge between given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean RemoveEdge(T, T) Remove given edge. Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove given vertex from this graph. Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value" + "keywords": "Class WeightedGraph A weighted graph implementation using dynamically growinng/shrinking adjacency matrix array. IEnumerable enumerates all vertices. Inheritance Object WeightedGraph Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix Assembly : Advanced.Algorithms.dll Syntax public class WeightedGraph : IEnumerable, IEnumerable where TW : IComparable Type Parameters Name Description T TW Constructors WeightedGraph() Declaration public WeightedGraph() Properties VerticesCount Declaration public int VerticesCount { get; } Property Value Type Description Int32 Methods AddEdge(T, T, TW) Add a new edge to this graph with given weight and between given source and destination vertex. Time complexity: O(1). Declaration public void AddEdge(T source, T dest, TW weight) Parameters Type Name Description T source T dest TW weight AddVertex(T) Add a new vertex to this graph. Time complexity: O(1). Declaration public void AddVertex(T value) Parameters Type Name Description T value Edges(T) Declaration public IEnumerable> Edges(T vertex) Parameters Type Name Description T vertex Returns Type Description IEnumerable < Tuple > GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator HasEdge(T, T) Do we have an edge between given source and destination? Time complexity: O(1). Declaration public bool HasEdge(T source, T dest) Parameters Type Name Description T source T dest Returns Type Description Boolean RemoveEdge(T, T) Remove given edge. Time complexity: O(1). Declaration public void RemoveEdge(T source, T dest) Parameters Type Name Description T source T dest RemoveVertex(T) Remove given vertex from this graph. Time complexity: O(V) where V is the number of vertices. Declaration public void RemoveVertex(T value) Parameters Type Name Description T value Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.html": { "href": "api/Advanced.Algorithms.DataStructures.html", "title": "Namespace Advanced.Algorithms.DataStructures | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.DataStructures Classes AVLTree An AVL tree implementation. BinaryTree A binary tree implementation using pointers. BinomialMaxHeap A binomial max heap implementation. BinomialMinHeap A binomial min heap implementation. BloomFilter A simple bloom filter implementation. BMaxHeap A binary max heap implementation. BMinHeap A binary min heap implementation. BpTree A B+ tree implementation. BST A binary search tree implementation. BTree A B-tree implementation. CircularLinkedList A circular linked list implementation. CircularLinkedListNode Circular linked list node. DaryMaxHeap A D-ary max heap implementation. DaryMinHeap A D-ary min heap implementation. DisJointSet A disjoint set implementation. DoublyLinkedList A doubly linked list implementation. DoublyLinkedListNode Doubly linked list node. FenwickTree A Fenwick Tree (binary indexed tree) implementation for prefix sum. FibornacciMaxHeap A fibornacci max heap implementation. FibornacciMinHeap A fibornacci min heap implementation. IntervalTree A multi-dimensional interval tree implementation. KDTree A multiDimensional k-d tree implementation (Unbalanced). MaxPriorityQueue A priority queue implementation using min heap, assuming that higher values have a higher priority. MinPriorityQueue A priority queue implementation using min heap, assuming that lower values have a higher priority. PairingMaxHeap A pairing max heap implementation. PairingMinHeap A pairing min heap implementation. QuadTree A quadtree implementation. RangeTree A multi-dimentional range tree implementation. RedBlackTree A red black tree implementation. RTree An RTree implementation. SegmentTree A segment tree implementation. SinglyLinkedList A singly linked list implementation. SinglyLinkedListNode Singly linked list node. SkipList A skip list implementation with IEnumerable support. SparseSet A sparse set implementation. SplayTree A splay tree implementation. SuffixTree A suffix tree implementation using a trie. TernarySearchTree TreapTree A treap tree implementation. Tree A tree implementation. Trie A trie (prefix tree) implementation. Interfaces IDistanceCalculator A concrete implementation of this interface is required when calling NearestNeigbour() for k-d tree." + "keywords": "Namespace Advanced.Algorithms.DataStructures Classes AVLTree An AVL tree implementation. BinaryTree A binary tree implementation using pointers. BinomialMaxHeap A binomial max heap implementation. BinomialMinHeap A binomial min heap implementation. BloomFilter A simple bloom filter implementation. BMaxHeap A binary max heap implementation. BMinHeap A binary min heap implementation. BpTree A B+ tree implementation. BST A binary search tree implementation. BTree A B-tree implementation. CircularLinkedList A circular linked list implementation. CircularLinkedListNode Circular linked list node. DaryMaxHeap A D-ary max heap implementation. DaryMinHeap A D-ary min heap implementation. DisJointSet A disjoint set implementation. DoublyLinkedList A doubly linked list implementation. DoublyLinkedListNode Doubly linked list node. FenwickTree A Fenwick Tree (binary indexed tree) implementation for prefix sum. FibornacciMaxHeap A fibornacci max heap implementation. FibornacciMinHeap A fibornacci min heap implementation. IntervalTree A multi-dimensional interval tree implementation. KDTree A multiDimensional k-d tree implementation (Unbalanced). MaxPriorityQueue A priority queue implementation using min heap, assuming that higher values have a higher priority. MinPriorityQueue A priority queue implementation using min heap, assuming that lower values have a higher priority. PairingMaxHeap A pairing max heap implementation. PairingMinHeap A pairing min heap implementation. QuadTree A quadtree implementation. RangeTree A multi-dimentional range tree implementation. RedBlackTree A red black tree implementation. RTree An RTree implementation. SegmentTree A segment tree implementation. SinglyLinkedList A singly linked list implementation. SinglyLinkedListNode Singly linked list node. SkipList A skip list implementation with IEnumerable support. SparseSet A sparse set implementation. SplayTree A splay tree implementation. SuffixTree A suffix tree implementation using a trie. TernarySearchTree A ternary search tree implementation. TreapTree A treap tree implementation. Tree A tree implementation. Trie A trie (prefix tree) implementation. Interfaces IDistanceCalculator A concrete implementation of this interface is required when calling NearestNeigbour() for k-d tree." }, "api/Advanced.Algorithms.DataStructures.IDistanceCalculator-1.html": { "href": "api/Advanced.Algorithms.DataStructures.IDistanceCalculator-1.html", @@ -332,7 +332,7 @@ "api/Advanced.Algorithms.DataStructures.RedBlackTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.RedBlackTree-1.html", "title": "Class RedBlackTree | Advanced Algorithms", - "keywords": "Class RedBlackTree A red black tree implementation. Inheritance Object RedBlackTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class RedBlackTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Constructors RedBlackTree(Boolean, IEqualityComparer) Constructor Declaration public RedBlackTree(bool enableNodeLookUp = false, IEqualityComparer equalityComparer = null) Parameters Type Name Description Boolean enableNodeLookUp Enabling lookup will fasten deletion/insertion/exists operations at the cost of additional space. IEqualityComparer equalityComparer Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(log(n)) Declaration public void Delete(T value) Parameters Type Name Description T value GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(log(n)) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(log(n)) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(log(n)) Declaration public void Insert(T value) Parameters Type Name Description T value Max() Time complexity: O(log(n)) Declaration public T Max() Returns Type Description T Min() Time complexity: O(log(n)) Declaration public T Min() Returns Type Description T NextHigher(T) Get the value next to given value in this BST. Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the value previous to given value in this BST. Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class RedBlackTree A red black tree implementation. Inheritance Object RedBlackTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class RedBlackTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Constructors RedBlackTree(Boolean, IEqualityComparer) Constructor Declaration public RedBlackTree(bool enableNodeLookUp = false, IEqualityComparer equalityComparer = null) Parameters Type Name Description Boolean enableNodeLookUp Enabling lookup will fasten deletion/insertion/exists operations at the cost of additional space. IEqualityComparer equalityComparer Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(log(n)) Declaration public void Delete(T value) Parameters Type Name Description T value GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(log(n)) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(log(n)) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(log(n)) Declaration public void Insert(T value) Parameters Type Name Description T value Max() Time complexity: O(log(n)) Declaration public T Max() Returns Type Description T Min() Time complexity: O(log(n)) Declaration public T Min() Returns Type Description T NextHigher(T) Get the next higher to given value in this BST. Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the next lower value to given value in this BST. Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.RTree.html": { "href": "api/Advanced.Algorithms.DataStructures.RTree.html", @@ -367,7 +367,7 @@ "api/Advanced.Algorithms.DataStructures.SplayTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.SplayTree-1.html", "title": "Class SplayTree | Advanced Algorithms", - "keywords": "Class SplayTree A splay tree implementation. Inheritance Object SplayTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class SplayTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(n) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(n) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(n) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(n) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(n) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(n) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the value next to given value in this BST. Time complexity: O(n). Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the value previous to given value in this BST. Time complexity: O(n). Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class SplayTree A splay tree implementation. Inheritance Object SplayTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class SplayTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(n) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(n) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(n) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(n) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(n) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(n) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the next higher value to given value in this BST. Time complexity: O(n). Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the next lower value to given value in this BST. Time complexity: O(n). Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.SuffixTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.SuffixTree-1.html", @@ -377,12 +377,12 @@ "api/Advanced.Algorithms.DataStructures.TernarySearchTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.TernarySearchTree-1.html", "title": "Class TernarySearchTree | Advanced Algorithms", - "keywords": "Class TernarySearchTree Inheritance Object TernarySearchTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class TernarySearchTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Constructors TernarySearchTree() Declaration public TernarySearchTree() Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Contains(T[]) Returns true if the entry exist. Time complexity: O(e) where e is the length of the given entry. Declaration public bool Contains(T[] entry) Parameters Type Name Description T[] entry Returns Type Description Boolean ContainsPrefix(T[]) Returns true if the entry prefix exist. Time complexity: O(e) where e is the length of the given entry. Declaration public bool ContainsPrefix(T[] entry) Parameters Type Name Description T[] entry Returns Type Description Boolean Delete(T[]) Deletes a record from this ternary search tree. Time complexity: O(m) where m is the length of entry. Declaration public void Delete(T[] entry) Parameters Type Name Description T[] entry GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Insert(T[]) Time complexity: O(m) where m is the length of entry. Declaration public void Insert(T[] entry) Parameters Type Name Description T[] entry StartsWith(T[]) Returns a list of records matching this prefix. Time complexity: O(rm) where r is the number of results and m is the average length of each entry. Declaration public List StartsWith(T[] prefix) Parameters Type Name Description T[] prefix Returns Type Description List Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class TernarySearchTree A ternary search tree implementation. Inheritance Object TernarySearchTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class TernarySearchTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Constructors TernarySearchTree() Declaration public TernarySearchTree() Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Contains(T[]) Returns true if the entry exist. Time complexity: O(e) where e is the length of the given entry. Declaration public bool Contains(T[] entry) Parameters Type Name Description T[] entry Returns Type Description Boolean ContainsPrefix(T[]) Returns true if the entry prefix exist. Time complexity: O(e) where e is the length of the given entry. Declaration public bool ContainsPrefix(T[] entry) Parameters Type Name Description T[] entry Returns Type Description Boolean Delete(T[]) Deletes a record from this ternary search tree. Time complexity: O(m) where m is the length of entry. Declaration public void Delete(T[] entry) Parameters Type Name Description T[] entry GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator Insert(T[]) Time complexity: O(m) where m is the length of entry. Declaration public void Insert(T[] entry) Parameters Type Name Description T[] entry StartsWith(T[]) Returns a list of records matching this prefix. Time complexity: O(rm) where r is the number of results and m is the average length of each entry. Declaration public List StartsWith(T[] prefix) Parameters Type Name Description T[] prefix Returns Type Description List Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.TreapTree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.TreapTree-1.html", "title": "Class TreapTree | Advanced Algorithms", - "keywords": "Class TreapTree A treap tree implementation. Inheritance Object TreapTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class TreapTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(log(n)) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(log(n)) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(log(n)) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(log(n)) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(log(n)) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(log(n)) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the value previous to given value in this BST. Time complexity: O(n). Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the value previous to given value in this BST. Time complexity: O(n). Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" + "keywords": "Class TreapTree A treap tree implementation. Inheritance Object TreapTree Implements IEnumerable IEnumerable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.DataStructures Assembly : Advanced.Algorithms.dll Syntax public class TreapTree : IEnumerable, IEnumerable where T : IComparable Type Parameters Name Description T Properties Count Declaration public int Count { get; } Property Value Type Description Int32 Methods Delete(T) Time complexity: O(log(n)) Declaration public void Delete(T value) Parameters Type Name Description T value FindMax() Time complexity: O(log(n)) Declaration public T FindMax() Returns Type Description T FindMin() Time complexity: O(log(n)) Declaration public T FindMin() Returns Type Description T GetEnumerator() Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator GetHeight() Time complexity: O(log(n)) Declaration public int GetHeight() Returns Type Description Int32 HasItem(T) Time complexity: O(log(n)) Declaration public bool HasItem(T value) Parameters Type Name Description T value Returns Type Description Boolean Insert(T) Time complexity: O(log(n)) Declaration public void Insert(T value) Parameters Type Name Description T value NextHigher(T) Get the next higher value to given value in this BST. Time complexity: O(n). Declaration public T NextHigher(T value) Parameters Type Name Description T value Returns Type Description T NextLower(T) Get the next lower value to given value in this BST. Time complexity: O(n). Declaration public T NextLower(T value) Parameters Type Name Description T value Returns Type Description T Explicit Interface Implementations IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IEnumerable System.Collections.IEnumerable" }, "api/Advanced.Algorithms.DataStructures.Tree-1.html": { "href": "api/Advanced.Algorithms.DataStructures.Tree-1.html", @@ -432,7 +432,7 @@ "api/Advanced.Algorithms.Geometry.html": { "href": "api/Advanced.Algorithms.Geometry.html", "title": "Namespace Advanced.Algorithms.Geometry | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.Geometry Classes BentleyOttmann Bentley-Ottmann sweep line algorithm to find line intersections. ClosestPointPair Closest-point pair finder. ConvexHull Convex hull using jarvis's algorithm. Line Line object. LineExtensions Line extensions. LineIntersection Line intersection computer. Point Point object. PointComparer Compares two points for geometric equality implementing IEqualityComparer. PointInsidePolygon Implementesa method tp Check whether a given point is inside given polygon. PointRotation Rotates given point by given angle about given center. Polygon Polygon object. Rectangle Rectangle object. RectangleComparer Compares two rectangles for geometrical equality implementing IEqualityComparer. RectangleIntersection Rectangle intersection finder." + "keywords": "Namespace Advanced.Algorithms.Geometry Classes BentleyOttmann Bentley-Ottmann sweep line algorithm to find line intersections. ClosestPointPair Closest-point pair finder. ConvexHull Convex hull using jarvis's algorithm. Line Line object. LineExtensions Line extensions. LineIntersection Line intersection computer. Point Point object. PointComparer Compares two points for geometric equality implementing IEqualityComparer. PointInsidePolygon Check whether a given point is inside given polygon. PointRotation Rotates given point by given angle about given center. Polygon Polygon object. Rectangle Rectangle object. RectangleComparer Compares two rectangles for geometrical equality implementing IEqualityComparer. RectangleIntersection Rectangle intersection finder." }, "api/Advanced.Algorithms.Geometry.Line.html": { "href": "api/Advanced.Algorithms.Geometry.Line.html", @@ -462,7 +462,7 @@ "api/Advanced.Algorithms.Geometry.PointInsidePolygon.html": { "href": "api/Advanced.Algorithms.Geometry.PointInsidePolygon.html", "title": "Class PointInsidePolygon | Advanced Algorithms", - "keywords": "Class PointInsidePolygon Implementesa method tp Check whether a given point is inside given polygon. Inheritance Object PointInsidePolygon Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Geometry Assembly : Advanced.Algorithms.dll Syntax public class PointInsidePolygon Methods IsInside(Polygon, Point) Declaration public static bool IsInside(Polygon polygon, Point point) Parameters Type Name Description Polygon polygon Point point Returns Type Description Boolean" + "keywords": "Class PointInsidePolygon Check whether a given point is inside given polygon. Inheritance Object PointInsidePolygon Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Geometry Assembly : Advanced.Algorithms.dll Syntax public class PointInsidePolygon Methods IsInside(Polygon, Point) Declaration public static bool IsInside(Polygon polygon, Point point) Parameters Type Name Description Polygon polygon Point point Returns Type Description Boolean" }, "api/Advanced.Algorithms.Geometry.PointRotation.html": { "href": "api/Advanced.Algorithms.Geometry.PointRotation.html", @@ -517,7 +517,7 @@ "api/Advanced.Algorithms.Graph.Bridge-1.html": { "href": "api/Advanced.Algorithms.Graph.Bridge-1.html", "title": "Class Bridge | Advanced Algorithms", - "keywords": "Class Bridge Inheritance Object Bridge Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class Bridge Type Parameters Name Description T Constructors Bridge(T, T) Declaration public Bridge(T vertexA, T vertexB) Parameters Type Name Description T vertexA T vertexB Properties vertexA Declaration public T vertexA { get; } Property Value Type Description T vertexB Declaration public T vertexB { get; } Property Value Type Description T" + "keywords": "Class Bridge The bridge object. Inheritance Object Bridge Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class Bridge Type Parameters Name Description T Constructors Bridge(T, T) Declaration public Bridge(T vertexA, T vertexB) Parameters Type Name Description T vertexA T vertexB Properties vertexA Declaration public T vertexA { get; } Property Value Type Description T vertexB Declaration public T vertexB { get; } Property Value Type Description T" }, "api/Advanced.Algorithms.Graph.CycleDetector-1.html": { "href": "api/Advanced.Algorithms.Graph.CycleDetector-1.html", @@ -542,17 +542,17 @@ "api/Advanced.Algorithms.Graph.EdmondKarpMaxFlow-2.html": { "href": "api/Advanced.Algorithms.Graph.EdmondKarpMaxFlow-2.html", "title": "Class EdmondKarpMaxFlow | Advanced Algorithms", - "keywords": "Class EdmondKarpMaxFlow Inheritance Object EdmondKarpMaxFlow Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class EdmondKarpMaxFlow where W : IComparable Type Parameters Name Description T W Constructors EdmondKarpMaxFlow(IFlowOperators) Declaration public EdmondKarpMaxFlow(IFlowOperators operators) Parameters Type Name Description IFlowOperators operators Methods ComputeMaxFlow(WeightedDiGraph, T, T) Compute max flow by searching a path and then augmenting the residual graph until no more path exists in residual graph with possible flow. Declaration public W ComputeMaxFlow(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description W computeMaxFlowAndReturnResidualGraph(WeightedDiGraph, T, T) Compute max flow by searching a path and then augmenting the residual graph until no more path exists in residual graph with possible flow. Declaration public WeightedDiGraph computeMaxFlowAndReturnResidualGraph(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description WeightedDiGraph " + "keywords": "Class EdmondKarpMaxFlow An Edmond Karp max flow implementation on weighted directed graph using adjacency list representation of graph and residual graph. Inheritance Object EdmondKarpMaxFlow Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class EdmondKarpMaxFlow where W : IComparable Type Parameters Name Description T W Constructors EdmondKarpMaxFlow(IFlowOperators) Declaration public EdmondKarpMaxFlow(IFlowOperators operators) Parameters Type Name Description IFlowOperators operators Methods ComputeMaxFlow(WeightedDiGraph, T, T) Compute max flow by searching a path and then augmenting the residual graph until no more path exists in residual graph with possible flow. Declaration public W ComputeMaxFlow(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description W computeMaxFlowAndReturnResidualGraph(WeightedDiGraph, T, T) Compute max flow by searching a path and then augmenting the residual graph until no more path exists in residual graph with possible flow. Declaration public WeightedDiGraph computeMaxFlowAndReturnResidualGraph(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description WeightedDiGraph " }, "api/Advanced.Algorithms.Graph.FloydWarshallShortestPath-2.html": { "href": "api/Advanced.Algorithms.Graph.FloydWarshallShortestPath-2.html", "title": "Class FloydWarshallShortestPath | Advanced Algorithms", - "keywords": "Class FloydWarshallShortestPath Inheritance Object FloydWarshallShortestPath Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class FloydWarshallShortestPath where W : IComparable Type Parameters Name Description T W Constructors FloydWarshallShortestPath(IShortestPathOperators) Declaration public FloydWarshallShortestPath(IShortestPathOperators operators) Parameters Type Name Description IShortestPathOperators operators Methods GetAllPairShortestPaths(WeightedGraph) Declaration public List> GetAllPairShortestPaths(WeightedGraph graph) Parameters Type Name Description WeightedGraph graph Returns Type Description List < AllPairShortestPathResult >" + "keywords": "Class FloydWarshallShortestPath A floyd-warshall shortest path algorithm implementation. Inheritance Object FloydWarshallShortestPath Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class FloydWarshallShortestPath where W : IComparable Type Parameters Name Description T W Constructors FloydWarshallShortestPath(IShortestPathOperators) Declaration public FloydWarshallShortestPath(IShortestPathOperators operators) Parameters Type Name Description IShortestPathOperators operators Methods GetAllPairShortestPaths(WeightedGraph) Declaration public List> GetAllPairShortestPaths(WeightedGraph graph) Parameters Type Name Description WeightedGraph graph Returns Type Description List < AllPairShortestPathResult >" }, "api/Advanced.Algorithms.Graph.FordFulkersonMaxFlow-2.html": { "href": "api/Advanced.Algorithms.Graph.FordFulkersonMaxFlow-2.html", "title": "Class FordFulkersonMaxFlow | Advanced Algorithms", - "keywords": "Class FordFulkersonMaxFlow Inheritance Object FordFulkersonMaxFlow Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class FordFulkersonMaxFlow where W : IComparable Type Parameters Name Description T W Constructors FordFulkersonMaxFlow(IFlowOperators) Declaration public FordFulkersonMaxFlow(IFlowOperators operators) Parameters Type Name Description IFlowOperators operators Methods ComputeMaxFlow(WeightedDiGraph, T, T) Compute max flow by searching a path and then augmenting the residual graph until no more path exists in residual graph with possible flow. Declaration public W ComputeMaxFlow(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description W ComputeMaxFlowAndReturnFlowPath(WeightedDiGraph, T, T) Return all flow Paths. Declaration public List> ComputeMaxFlowAndReturnFlowPath(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description List < List >" + "keywords": "Class FordFulkersonMaxFlow A ford-fulkerson max flox implementation on weighted directed graph using adjacency list representation of graph and residual graph. Inheritance Object FordFulkersonMaxFlow Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class FordFulkersonMaxFlow where W : IComparable Type Parameters Name Description T W Constructors FordFulkersonMaxFlow(IFlowOperators) Declaration public FordFulkersonMaxFlow(IFlowOperators operators) Parameters Type Name Description IFlowOperators operators Methods ComputeMaxFlow(WeightedDiGraph, T, T) Compute max flow by searching a path and then augmenting the residual graph until no more path exists in residual graph with possible flow. Declaration public W ComputeMaxFlow(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description W ComputeMaxFlowAndReturnFlowPath(WeightedDiGraph, T, T) Return all flow Paths. Declaration public List> ComputeMaxFlowAndReturnFlowPath(WeightedDiGraph graph, T source, T sink) Parameters Type Name Description WeightedDiGraph graph T source T sink Returns Type Description List < List >" }, "api/Advanced.Algorithms.Graph.HopcroftKarpMatching-1.html": { "href": "api/Advanced.Algorithms.Graph.HopcroftKarpMatching-1.html", @@ -562,7 +562,7 @@ "api/Advanced.Algorithms.Graph.html": { "href": "api/Advanced.Algorithms.Graph.html", "title": "Namespace Advanced.Algorithms.Graph | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.Graph Classes AllPairShortestPathResult All pairs shortest path algorithm result object. BellmanFordShortestPath A Bellman Ford algorithm implementation. BiDirectional A BiDirectional Path Search on DiGraph. BiPartiteMatching Compute Max BiParitite Edges using Ford-Fukerson algorithm. BreadthFirst Bread First Search implementation. Bridge CycleDetector Cycle detection using Depth First Search. DepthFirst Depth First Search. DepthFirstTopSort Find Toplogical order of a graph using Depth First Search. DijikstraShortestPath A dijikstra algorithm implementation using Fibornacci Heap. EdmondKarpMaxFlow FloydWarshallShortestPath FordFulkersonMaxFlow HopcroftKarpMatching Compute Max BiParitite Edges using Hopcroft Karp algorithm. JohnsonsShortestPath KahnsTopSort Find Toplogical order of a graph using Kahn's algorithm. KosarajuStronglyConnected A Kosaraju Strong Connected Component Algorithm Implementation. Kruskals MatchEdge MColorer MColorResult M-coloring result object. MinCut Compute minimum cut edges of given graph using Edmond Karps improved Ford-Fulkerson Max Flow Algorithm. MinCutEdge MinVertexCover MSTEdge Minimum spanning tree edge object. Prims A Prims algorithm implementation. PushRelabelMaxFlow A Push-Relabel algorithm implementation. ShortestPathResult Shortest path result object. TarjansArticulationFinder Articulation point finder using Tarjan's algorithm. TarjansBiConnected Finds if a graph is BiConnected. TarjansBridgeFinder Bridge finder using Tarjan's algorithm. TarjansStronglyConnected Strongly connected using Tarjan's algorithm. TravellingSalesman Uses dynamic programming for a psuedo-polynomial time runTime complexity for this NP hard problem. Interfaces IBiPartiteMatchOperators Generic operator interface required by BiPartite matching algorithm. IFlowOperators Operators to deal with generic Add, Substract etc on edge weights for flow algorithms such as ford-fulkerson algorithm. IJohnsonsShortestPathOperators A concrete implementation of this interface is required by Johnson's algorithm. IShortestPathOperators Generic operators interface required by shorted path algorithms." + "keywords": "Namespace Advanced.Algorithms.Graph Classes AllPairShortestPathResult All pairs shortest path algorithm result object. BellmanFordShortestPath A Bellman Ford algorithm implementation. BiDirectional A BiDirectional Path Search on DiGraph. BiPartiteMatching Compute Max BiParitite Edges using Ford-Fukerson algorithm. BreadthFirst Bread First Search implementation. Bridge The bridge object. CycleDetector Cycle detection using Depth First Search. DepthFirst Depth First Search. DepthFirstTopSort Find Toplogical order of a graph using Depth First Search. DijikstraShortestPath A dijikstra algorithm implementation using Fibornacci Heap. EdmondKarpMaxFlow An Edmond Karp max flow implementation on weighted directed graph using adjacency list representation of graph and residual graph. FloydWarshallShortestPath A floyd-warshall shortest path algorithm implementation. FordFulkersonMaxFlow A ford-fulkerson max flox implementation on weighted directed graph using adjacency list representation of graph and residual graph. HopcroftKarpMatching Compute Max BiParitite Edges using Hopcroft Karp algorithm. JohnsonsShortestPath A Johnson's shortest path algorithm implementation. KahnsTopSort Find Toplogical order of a graph using Kahn's algorithm. KosarajuStronglyConnected A Kosaraju Strong Connected Component Algorithm Implementation. Kruskals A Kruskal's alogorithm implementation using merge sort and disjoint set. MatchEdge The match result object. MColorer An m-coloring algorithm implementation. MColorResult M-coloring result object. MinCut Compute minimum cut edges of given graph using Edmond Karps improved Ford-Fulkerson Max Flow Algorithm. MinCutEdge Minimum cut result object. MinVertexCover A minimum vertex conver algorithm implementation. MSTEdge Minimum spanning tree edge object. Prims A Prims algorithm implementation. PushRelabelMaxFlow A Push-Relabel algorithm implementation. ShortestPathResult Shortest path result object. TarjansArticulationFinder Articulation point finder using Tarjan's algorithm. TarjansBiConnected Finds if a graph is BiConnected. TarjansBridgeFinder Bridge finder using Tarjan's algorithm. TarjansStronglyConnected Strongly connected using Tarjan's algorithm. TravellingSalesman Uses dynamic programming for a psuedo-polynomial time runTime complexity for this NP hard problem. Interfaces IBiPartiteMatchOperators Generic operator interface required by BiPartite matching algorithm. IFlowOperators Operators to deal with generic Add, Substract etc on edge weights for flow algorithms such as ford-fulkerson algorithm. IJohnsonsShortestPathOperators A concrete implementation of this interface is required by Johnson's algorithm. IShortestPathOperators Generic operators interface required by shorted path algorithms." }, "api/Advanced.Algorithms.Graph.IBiPartiteMatchOperators-1.html": { "href": "api/Advanced.Algorithms.Graph.IBiPartiteMatchOperators-1.html", @@ -587,7 +587,7 @@ "api/Advanced.Algorithms.Graph.JohnsonsShortestPath-2.html": { "href": "api/Advanced.Algorithms.Graph.JohnsonsShortestPath-2.html", "title": "Class JohnsonsShortestPath | Advanced Algorithms", - "keywords": "Class JohnsonsShortestPath Inheritance Object JohnsonsShortestPath Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class JohnsonsShortestPath where W : IComparable Type Parameters Name Description T W Constructors JohnsonsShortestPath(IJohnsonsShortestPathOperators) Declaration public JohnsonsShortestPath(IJohnsonsShortestPathOperators operators) Parameters Type Name Description IJohnsonsShortestPathOperators operators Methods GetAllPairShortestPaths(WeightedDiGraph) Declaration public List> GetAllPairShortestPaths(WeightedDiGraph graph) Parameters Type Name Description WeightedDiGraph graph Returns Type Description List < AllPairShortestPathResult >" + "keywords": "Class JohnsonsShortestPath A Johnson's shortest path algorithm implementation. Inheritance Object JohnsonsShortestPath Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class JohnsonsShortestPath where W : IComparable Type Parameters Name Description T W Constructors JohnsonsShortestPath(IJohnsonsShortestPathOperators) Declaration public JohnsonsShortestPath(IJohnsonsShortestPathOperators operators) Parameters Type Name Description IJohnsonsShortestPathOperators operators Methods GetAllPairShortestPaths(WeightedDiGraph) Declaration public List> GetAllPairShortestPaths(WeightedDiGraph graph) Parameters Type Name Description WeightedDiGraph graph Returns Type Description List < AllPairShortestPathResult >" }, "api/Advanced.Algorithms.Graph.KahnsTopSort-1.html": { "href": "api/Advanced.Algorithms.Graph.KahnsTopSort-1.html", @@ -602,17 +602,17 @@ "api/Advanced.Algorithms.Graph.Kruskals-2.html": { "href": "api/Advanced.Algorithms.Graph.Kruskals-2.html", "title": "Class Kruskals | Advanced Algorithms", - "keywords": "Class Kruskals Inheritance Object Kruskals Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class Kruskals where TW : IComparable Type Parameters Name Description T TW Methods FindMinimumSpanningTree(WeightedGraph) Find Minimum Spanning Tree of given weighted graph. Declaration public List> FindMinimumSpanningTree(WeightedGraph graph) Parameters Type Name Description WeightedGraph graph Returns Type Description List < MSTEdge > List of MST edges" + "keywords": "Class Kruskals A Kruskal's alogorithm implementation using merge sort and disjoint set. Inheritance Object Kruskals Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class Kruskals where TW : IComparable Type Parameters Name Description T TW Methods FindMinimumSpanningTree(WeightedGraph) Find Minimum Spanning Tree of given weighted graph. Declaration public List> FindMinimumSpanningTree(WeightedGraph graph) Parameters Type Name Description WeightedGraph graph Returns Type Description List < MSTEdge > List of MST edges" }, "api/Advanced.Algorithms.Graph.MatchEdge-1.html": { "href": "api/Advanced.Algorithms.Graph.MatchEdge-1.html", "title": "Class MatchEdge | Advanced Algorithms", - "keywords": "Class MatchEdge Inheritance Object MatchEdge Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MatchEdge Type Parameters Name Description T Constructors MatchEdge(T, T) Declaration public MatchEdge(T source, T target) Parameters Type Name Description T source T target Properties Source Declaration public T Source { get; } Property Value Type Description T Target Declaration public T Target { get; } Property Value Type Description T" + "keywords": "Class MatchEdge The match result object. Inheritance Object MatchEdge Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MatchEdge Type Parameters Name Description T Constructors MatchEdge(T, T) Declaration public MatchEdge(T source, T target) Parameters Type Name Description T source T target Properties Source Declaration public T Source { get; } Property Value Type Description T Target Declaration public T Target { get; } Property Value Type Description T" }, "api/Advanced.Algorithms.Graph.MColorer-2.html": { "href": "api/Advanced.Algorithms.Graph.MColorer-2.html", "title": "Class MColorer | Advanced Algorithms", - "keywords": "Class MColorer Inheritance Object MColorer Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MColorer Type Parameters Name Description T C Methods Color(Graph, C[]) Returns true if all vertices can be colored using the given colors in such a way so that no neighbours have same color. Declaration public MColorResult Color(Graph graph, C[] colors) Parameters Type Name Description Graph graph C[] colors Returns Type Description MColorResult " + "keywords": "Class MColorer An m-coloring algorithm implementation. Inheritance Object MColorer Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MColorer Type Parameters Name Description T C Methods Color(Graph, C[]) Returns true if all vertices can be colored using the given colors in such a way so that no neighbours have same color. Declaration public MColorResult Color(Graph graph, C[] colors) Parameters Type Name Description Graph graph C[] colors Returns Type Description MColorResult " }, "api/Advanced.Algorithms.Graph.MColorResult-2.html": { "href": "api/Advanced.Algorithms.Graph.MColorResult-2.html", @@ -627,12 +627,12 @@ "api/Advanced.Algorithms.Graph.MinCutEdge-1.html": { "href": "api/Advanced.Algorithms.Graph.MinCutEdge-1.html", "title": "Class MinCutEdge | Advanced Algorithms", - "keywords": "Class MinCutEdge Inheritance Object MinCutEdge Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MinCutEdge Type Parameters Name Description T Constructors MinCutEdge(T, T) Declaration public MinCutEdge(T source, T dest) Parameters Type Name Description T source T dest Properties Destination Declaration public T Destination { get; } Property Value Type Description T Source Declaration public T Source { get; } Property Value Type Description T" + "keywords": "Class MinCutEdge Minimum cut result object. Inheritance Object MinCutEdge Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MinCutEdge Type Parameters Name Description T Constructors MinCutEdge(T, T) Declaration public MinCutEdge(T source, T dest) Parameters Type Name Description T source T dest Properties Destination Declaration public T Destination { get; } Property Value Type Description T Source Declaration public T Source { get; } Property Value Type Description T" }, "api/Advanced.Algorithms.Graph.MinVertexCover-1.html": { "href": "api/Advanced.Algorithms.Graph.MinVertexCover-1.html", "title": "Class MinVertexCover | Advanced Algorithms", - "keywords": "Class MinVertexCover Inheritance Object MinVertexCover Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MinVertexCover Type Parameters Name Description T Methods GetMinVertexCover(Graph) Declaration public List> GetMinVertexCover(Graph graph) Parameters Type Name Description Graph graph Returns Type Description List < GraphVertex >" + "keywords": "Class MinVertexCover A minimum vertex conver algorithm implementation. Inheritance Object MinVertexCover Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Graph Assembly : Advanced.Algorithms.dll Syntax public class MinVertexCover Type Parameters Name Description T Methods GetMinVertexCover(Graph) Declaration public List> GetMinVertexCover(Graph graph) Parameters Type Name Description Graph graph Returns Type Description List < GraphVertex >" }, "api/Advanced.Algorithms.Graph.MSTEdge-2.html": { "href": "api/Advanced.Algorithms.Graph.MSTEdge-2.html", @@ -682,17 +682,17 @@ "api/Advanced.Algorithms.Numerical.FastExponentiation.html": { "href": "api/Advanced.Algorithms.Numerical.FastExponentiation.html", "title": "Class FastExponentiation | Advanced Algorithms", - "keywords": "Class FastExponentiation Inheritance Object FastExponentiation Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Numerical Assembly : Advanced.Algorithms.dll Syntax public class FastExponentiation Methods BySquaring(Int32, Int32) Computes exponentiation using squaring. Declaration public static int BySquaring(int base, int power) Parameters Type Name Description Int32 base Int32 power Returns Type Description Int32" + "keywords": "Class FastExponentiation A fast exponentiation algorithm implementation. Inheritance Object FastExponentiation Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Numerical Assembly : Advanced.Algorithms.dll Syntax public class FastExponentiation Methods BySquaring(Int32, Int32) Computes exponentiation using squaring. Declaration public static int BySquaring(int base, int power) Parameters Type Name Description Int32 base Int32 power Returns Type Description Int32" }, "api/Advanced.Algorithms.Numerical.html": { "href": "api/Advanced.Algorithms.Numerical.html", "title": "Namespace Advanced.Algorithms.Numerical | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.Numerical Classes FastExponentiation PrimeGenerator PrimeTester Tests for Prime in School method optimized." + "keywords": "Namespace Advanced.Algorithms.Numerical Classes FastExponentiation A fast exponentiation algorithm implementation. PrimeGenerator A prime number generation algorithm using Sieve of Eratosthenes. PrimeTester Tests for Prime in School method optimized." }, "api/Advanced.Algorithms.Numerical.PrimeGenerator.html": { "href": "api/Advanced.Algorithms.Numerical.PrimeGenerator.html", "title": "Class PrimeGenerator | Advanced Algorithms", - "keywords": "Class PrimeGenerator Inheritance Object PrimeGenerator Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Numerical Assembly : Advanced.Algorithms.dll Syntax public class PrimeGenerator Methods GetAllPrimes(Int32) Prime generation using Sieve of Eratosthenes. Declaration public static List GetAllPrimes(int max) Parameters Type Name Description Int32 max Returns Type Description List < Int32 >" + "keywords": "Class PrimeGenerator A prime number generation algorithm using Sieve of Eratosthenes. Inheritance Object PrimeGenerator Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Numerical Assembly : Advanced.Algorithms.dll Syntax public class PrimeGenerator Methods GetAllPrimes(Int32) Declaration public static List GetAllPrimes(int max) Parameters Type Name Description Int32 max Returns Type Description List < Int32 >" }, "api/Advanced.Algorithms.Numerical.PrimeTester.html": { "href": "api/Advanced.Algorithms.Numerical.PrimeTester.html", @@ -702,27 +702,27 @@ "api/Advanced.Algorithms.Search.BinarySearch.html": { "href": "api/Advanced.Algorithms.Search.BinarySearch.html", "title": "Class BinarySearch | Advanced Algorithms", - "keywords": "Class BinarySearch Inheritance Object BinarySearch Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Search Assembly : Advanced.Algorithms.dll Syntax public class BinarySearch Methods Search(Int32[], Int32) Declaration public static int Search(int[] input, int element) Parameters Type Name Description Int32 [] input Int32 element Returns Type Description Int32" + "keywords": "Class BinarySearch A binary search algorithm implementation. Inheritance Object BinarySearch Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Search Assembly : Advanced.Algorithms.dll Syntax public class BinarySearch Methods Search(Int32[], Int32) Declaration public static int Search(int[] input, int element) Parameters Type Name Description Int32 [] input Int32 element Returns Type Description Int32" }, "api/Advanced.Algorithms.Search.BoyerMoore-1.html": { "href": "api/Advanced.Algorithms.Search.BoyerMoore-1.html", "title": "Class BoyerMoore | Advanced Algorithms", - "keywords": "Class BoyerMoore Inheritance Object BoyerMoore Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Search Assembly : Advanced.Algorithms.dll Syntax public class BoyerMoore where T : IComparable Type Parameters Name Description T Methods FindMajority(IEnumerable) Declaration public static T FindMajority(IEnumerable input) Parameters Type Name Description IEnumerable input Returns Type Description T" + "keywords": "Class BoyerMoore A boyer-moore majority finder algorithm implementation. Inheritance Object BoyerMoore Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Search Assembly : Advanced.Algorithms.dll Syntax public class BoyerMoore where T : IComparable Type Parameters Name Description T Methods FindMajority(IEnumerable) Declaration public static T FindMajority(IEnumerable input) Parameters Type Name Description IEnumerable input Returns Type Description T" }, "api/Advanced.Algorithms.Search.html": { "href": "api/Advanced.Algorithms.Search.html", "title": "Namespace Advanced.Algorithms.Search | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.Search Classes BinarySearch BoyerMoore QuickSelect" + "keywords": "Namespace Advanced.Algorithms.Search Classes BinarySearch A binary search algorithm implementation. BoyerMoore A boyer-moore majority finder algorithm implementation. QuickSelect A quick select for Kth smallest algorithm implementation." }, "api/Advanced.Algorithms.Search.QuickSelect-1.html": { "href": "api/Advanced.Algorithms.Search.QuickSelect-1.html", "title": "Class QuickSelect | Advanced Algorithms", - "keywords": "Class QuickSelect Inheritance Object QuickSelect Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Search Assembly : Advanced.Algorithms.dll Syntax public class QuickSelect where T : IComparable Type Parameters Name Description T Methods FindSmallest(IEnumerable, Int32) Declaration public static T FindSmallest(IEnumerable input, int k) Parameters Type Name Description IEnumerable input Int32 k Returns Type Description T" + "keywords": "Class QuickSelect A quick select for Kth smallest algorithm implementation. Inheritance Object QuickSelect Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Search Assembly : Advanced.Algorithms.dll Syntax public class QuickSelect where T : IComparable Type Parameters Name Description T Methods FindSmallest(IEnumerable, Int32) Declaration public static T FindSmallest(IEnumerable input, int k) Parameters Type Name Description IEnumerable input Int32 k Returns Type Description T" }, "api/Advanced.Algorithms.Sorting.BubbleSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.BubbleSort-1.html", "title": "Class BubbleSort | Advanced Algorithms", - "keywords": "Class BubbleSort Inheritance Object BubbleSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class BubbleSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class BubbleSort A bubble sort implementation. Inheritance Object BubbleSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class BubbleSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.Sorting.BucketSort.html": { "href": "api/Advanced.Algorithms.Sorting.BucketSort.html", @@ -737,27 +737,27 @@ "api/Advanced.Algorithms.Sorting.HeapSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.HeapSort-1.html", "title": "Class HeapSort | Advanced Algorithms", - "keywords": "Class HeapSort Inheritance Object HeapSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class HeapSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(nlog(n)). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class HeapSort A heap sort implementation. Inheritance Object HeapSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class HeapSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(nlog(n)). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.Sorting.html": { "href": "api/Advanced.Algorithms.Sorting.html", "title": "Namespace Advanced.Algorithms.Sorting | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.Sorting Classes BubbleSort BucketSort A bucket sort implementation. CountingSort A counting sort implementation. HeapSort InsertionSort MergeSort QuickSort RadixSort A radix sort implementation. SelectionSort ShellSort A shell sort implementation. TreeSort" + "keywords": "Namespace Advanced.Algorithms.Sorting Classes BubbleSort A bubble sort implementation. BucketSort A bucket sort implementation. CountingSort A counting sort implementation. HeapSort A heap sort implementation. InsertionSort An insertion sort implementation. MergeSort A merge sort implementation. QuickSort A quick sort implementation. RadixSort A radix sort implementation. SelectionSort A selection sort implementation. ShellSort A shell sort implementation. TreeSort A tree sort implementation." }, "api/Advanced.Algorithms.Sorting.InsertionSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.InsertionSort-1.html", "title": "Class InsertionSort | Advanced Algorithms", - "keywords": "Class InsertionSort Inheritance Object InsertionSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class InsertionSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class InsertionSort An insertion sort implementation. Inheritance Object InsertionSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class InsertionSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.Sorting.MergeSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.MergeSort-1.html", "title": "Class MergeSort | Advanced Algorithms", - "keywords": "Class MergeSort Inheritance Object MergeSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class MergeSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(nlog(n)). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class MergeSort A merge sort implementation. Inheritance Object MergeSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class MergeSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(nlog(n)). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.Sorting.QuickSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.QuickSort-1.html", "title": "Class QuickSort | Advanced Algorithms", - "keywords": "Class QuickSort Inheritance Object QuickSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class QuickSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2) Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class QuickSort A quick sort implementation. Inheritance Object QuickSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class QuickSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2) Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.Sorting.RadixSort.html": { "href": "api/Advanced.Algorithms.Sorting.RadixSort.html", @@ -767,7 +767,7 @@ "api/Advanced.Algorithms.Sorting.SelectionSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.SelectionSort-1.html", "title": "Class SelectionSort | Advanced Algorithms", - "keywords": "Class SelectionSort Inheritance Object SelectionSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class SelectionSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class SelectionSort A selection sort implementation. Inheritance Object SelectionSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class SelectionSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(n^2). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.Sorting.ShellSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.ShellSort-1.html", @@ -777,17 +777,17 @@ "api/Advanced.Algorithms.Sorting.TreeSort-1.html": { "href": "api/Advanced.Algorithms.Sorting.TreeSort-1.html", "title": "Class TreeSort | Advanced Algorithms", - "keywords": "Class TreeSort Inheritance Object TreeSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class TreeSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(nlog(n)). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" + "keywords": "Class TreeSort A tree sort implementation. Inheritance Object TreeSort Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.Sorting Assembly : Advanced.Algorithms.dll Syntax public class TreeSort where T : IComparable Type Parameters Name Description T Methods Sort(T[]) Time complexity: O(nlog(n)). Declaration public static T[] Sort(T[] array) Parameters Type Name Description T[] array Returns Type Description T[]" }, "api/Advanced.Algorithms.String.html": { "href": "api/Advanced.Algorithms.String.html", "title": "Namespace Advanced.Algorithms.String | Advanced Algorithms", - "keywords": "Namespace Advanced.Algorithms.String Classes KMP Knuth–Morris–Pratt(KMP) search implementation. ManachersPalindrome A Manacher's longest palindrome implementation. RabinKarp ZAlgorithm" + "keywords": "Namespace Advanced.Algorithms.String Classes KMP Knuth–Morris–Pratt(KMP) string search implementation. ManachersPalindrome A Manacher's longest palindrome implementation. RabinKarp A Rabin-Karp string search implementation. ZAlgorithm A Z-algorithm implementation for string search." }, "api/Advanced.Algorithms.String.KMP.html": { "href": "api/Advanced.Algorithms.String.KMP.html", "title": "Class KMP | Advanced Algorithms", - "keywords": "Class KMP Knuth–Morris–Pratt(KMP) search implementation. Inheritance Object KMP Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.String Assembly : Advanced.Algorithms.dll Syntax public class KMP Methods Search(String, String) Returns the start index of first appearance of pattern in input string. Returns -1 if no match. Declaration public int Search(string input, string pattern) Parameters Type Name Description String input String pattern Returns Type Description Int32" + "keywords": "Class KMP Knuth–Morris–Pratt(KMP) string search implementation. Inheritance Object KMP Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.String Assembly : Advanced.Algorithms.dll Syntax public class KMP Methods Search(String, String) Returns the start index of first appearance of pattern in input string. Returns -1 if no match. Declaration public int Search(string input, string pattern) Parameters Type Name Description String input String pattern Returns Type Description Int32" }, "api/Advanced.Algorithms.String.ManachersPalindrome.html": { "href": "api/Advanced.Algorithms.String.ManachersPalindrome.html", @@ -797,11 +797,11 @@ "api/Advanced.Algorithms.String.RabinKarp.html": { "href": "api/Advanced.Algorithms.String.RabinKarp.html", "title": "Class RabinKarp | Advanced Algorithms", - "keywords": "Class RabinKarp Inheritance Object RabinKarp Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.String Assembly : Advanced.Algorithms.dll Syntax public class RabinKarp Methods Search(String, String) Declaration public int Search(string input, string pattern) Parameters Type Name Description String input String pattern Returns Type Description Int32" + "keywords": "Class RabinKarp A Rabin-Karp string search implementation. Inheritance Object RabinKarp Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.String Assembly : Advanced.Algorithms.dll Syntax public class RabinKarp Methods Search(String, String) Declaration public int Search(string input, string pattern) Parameters Type Name Description String input String pattern Returns Type Description Int32" }, "api/Advanced.Algorithms.String.ZAlgorithm.html": { "href": "api/Advanced.Algorithms.String.ZAlgorithm.html", "title": "Class ZAlgorithm | Advanced Algorithms", - "keywords": "Class ZAlgorithm Inheritance Object ZAlgorithm Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.String Assembly : Advanced.Algorithms.dll Syntax public class ZAlgorithm Methods Search(String, String) Returns the start index of first appearance of pattern in input string. returns -1 if no match. Declaration public int Search(string input, string pattern) Parameters Type Name Description String input String pattern Returns Type Description Int32" + "keywords": "Class ZAlgorithm A Z-algorithm implementation for string search. Inheritance Object ZAlgorithm Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Advanced.Algorithms.String Assembly : Advanced.Algorithms.dll Syntax public class ZAlgorithm Methods Search(String, String) Returns the start index of first appearance of pattern in input string. returns -1 if no match. Declaration public int Search(string input, string pattern) Parameters Type Name Description String input String pattern Returns Type Description Int32" } } diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index 29c94ccc..c817aab3 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -5790,6 +5790,23 @@ references: fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph(Of T).Edges nameWithType: Graph.Edges nameWithType.vb: Graph(Of T).Edges +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.GetEnumerator + name: GetEnumerator() + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_Graph_1_GetEnumerator + commentId: M:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.GetEnumerator + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph.GetEnumerator() + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph(Of T).GetEnumerator() + nameWithType: Graph.GetEnumerator() + nameWithType.vb: Graph(Of T).GetEnumerator() +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.GetEnumerator* + name: GetEnumerator + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_Graph_1_GetEnumerator_ + commentId: Overload:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.GetEnumerator + isSpec: "True" + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph.GetEnumerator + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph(Of T).GetEnumerator + nameWithType: Graph.GetEnumerator + nameWithType.vb: Graph(Of T).GetEnumerator - uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.HasEdge(`0,`0) name: HasEdge(T, T) href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_Graph_1_HasEdge__0__0_ @@ -5841,6 +5858,25 @@ references: fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph(Of T).RemoveVertex nameWithType: Graph.RemoveVertex nameWithType.vb: Graph(Of T).RemoveVertex +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.System#Collections#IEnumerable#GetEnumerator + name: IEnumerable.GetEnumerator() + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_Graph_1_System_Collections_IEnumerable_GetEnumerator + commentId: M:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.System#Collections#IEnumerable#GetEnumerator + name.vb: System.Collections.IEnumerable.GetEnumerator() + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph.System.Collections.IEnumerable.GetEnumerator() + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph(Of T).System.Collections.IEnumerable.GetEnumerator() + nameWithType: Graph.IEnumerable.GetEnumerator() + nameWithType.vb: Graph(Of T).System.Collections.IEnumerable.GetEnumerator() +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.System#Collections#IEnumerable#GetEnumerator* + name: IEnumerable.GetEnumerator + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_Graph_1_System_Collections_IEnumerable_GetEnumerator_ + commentId: Overload:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.System#Collections#IEnumerable#GetEnumerator + isSpec: "True" + name.vb: System.Collections.IEnumerable.GetEnumerator + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph.System.Collections.IEnumerable.GetEnumerator + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph(Of T).System.Collections.IEnumerable.GetEnumerator + nameWithType: Graph.IEnumerable.GetEnumerator + nameWithType.vb: Graph(Of T).System.Collections.IEnumerable.GetEnumerator - uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph`1.VerticesCount name: VerticesCount href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.Graph-1.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_Graph_1_VerticesCount @@ -5918,6 +5954,23 @@ references: fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph(Of T, TW).AddVertex nameWithType: WeightedDiGraph.AddVertex nameWithType.vb: WeightedDiGraph(Of T, TW).AddVertex +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.GetEnumerator + name: GetEnumerator() + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedDiGraph_2_GetEnumerator + commentId: M:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.GetEnumerator + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph.GetEnumerator() + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph(Of T, TW).GetEnumerator() + nameWithType: WeightedDiGraph.GetEnumerator() + nameWithType.vb: WeightedDiGraph(Of T, TW).GetEnumerator() +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.GetEnumerator* + name: GetEnumerator + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedDiGraph_2_GetEnumerator_ + commentId: Overload:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.GetEnumerator + isSpec: "True" + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph.GetEnumerator + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph(Of T, TW).GetEnumerator + nameWithType: WeightedDiGraph.GetEnumerator + nameWithType.vb: WeightedDiGraph(Of T, TW).GetEnumerator - uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.HasEdge(`0,`0) name: HasEdge(T, T) href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedDiGraph_2_HasEdge__0__0_ @@ -6003,6 +6056,25 @@ references: fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph(Of T, TW).RemoveVertex nameWithType: WeightedDiGraph.RemoveVertex nameWithType.vb: WeightedDiGraph(Of T, TW).RemoveVertex +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.System#Collections#IEnumerable#GetEnumerator + name: IEnumerable.GetEnumerator() + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedDiGraph_2_System_Collections_IEnumerable_GetEnumerator + commentId: M:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.System#Collections#IEnumerable#GetEnumerator + name.vb: System.Collections.IEnumerable.GetEnumerator() + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph.System.Collections.IEnumerable.GetEnumerator() + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator() + nameWithType: WeightedDiGraph.IEnumerable.GetEnumerator() + nameWithType.vb: WeightedDiGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator() +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.System#Collections#IEnumerable#GetEnumerator* + name: IEnumerable.GetEnumerator + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedDiGraph_2_System_Collections_IEnumerable_GetEnumerator_ + commentId: Overload:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.System#Collections#IEnumerable#GetEnumerator + isSpec: "True" + name.vb: System.Collections.IEnumerable.GetEnumerator + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph.System.Collections.IEnumerable.GetEnumerator + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator + nameWithType: WeightedDiGraph.IEnumerable.GetEnumerator + nameWithType.vb: WeightedDiGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator - uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph`2.VerticesCount name: VerticesCount href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedDiGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedDiGraph_2_VerticesCount @@ -6097,6 +6169,23 @@ references: fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph(Of T, TW).Edges nameWithType: WeightedGraph.Edges nameWithType.vb: WeightedGraph(Of T, TW).Edges +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.GetEnumerator + name: GetEnumerator() + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedGraph_2_GetEnumerator + commentId: M:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.GetEnumerator + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph.GetEnumerator() + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph(Of T, TW).GetEnumerator() + nameWithType: WeightedGraph.GetEnumerator() + nameWithType.vb: WeightedGraph(Of T, TW).GetEnumerator() +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.GetEnumerator* + name: GetEnumerator + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedGraph_2_GetEnumerator_ + commentId: Overload:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.GetEnumerator + isSpec: "True" + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph.GetEnumerator + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph(Of T, TW).GetEnumerator + nameWithType: WeightedGraph.GetEnumerator + nameWithType.vb: WeightedGraph(Of T, TW).GetEnumerator - uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.HasEdge(`0,`0) name: HasEdge(T, T) href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedGraph_2_HasEdge__0__0_ @@ -6148,6 +6237,25 @@ references: fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph(Of T, TW).RemoveVertex nameWithType: WeightedGraph.RemoveVertex nameWithType.vb: WeightedGraph(Of T, TW).RemoveVertex +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.System#Collections#IEnumerable#GetEnumerator + name: IEnumerable.GetEnumerator() + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedGraph_2_System_Collections_IEnumerable_GetEnumerator + commentId: M:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.System#Collections#IEnumerable#GetEnumerator + name.vb: System.Collections.IEnumerable.GetEnumerator() + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph.System.Collections.IEnumerable.GetEnumerator() + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator() + nameWithType: WeightedGraph.IEnumerable.GetEnumerator() + nameWithType.vb: WeightedGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator() +- uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.System#Collections#IEnumerable#GetEnumerator* + name: IEnumerable.GetEnumerator + href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedGraph_2_System_Collections_IEnumerable_GetEnumerator_ + commentId: Overload:Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.System#Collections#IEnumerable#GetEnumerator + isSpec: "True" + name.vb: System.Collections.IEnumerable.GetEnumerator + fullName: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph.System.Collections.IEnumerable.GetEnumerator + fullName.vb: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator + nameWithType: WeightedGraph.IEnumerable.GetEnumerator + nameWithType.vb: WeightedGraph(Of T, TW).System.Collections.IEnumerable.GetEnumerator - uid: Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph`2.VerticesCount name: VerticesCount href: api/Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix.WeightedGraph-2.html#Advanced_Algorithms_DataStructures_Graph_AdjacencyMatrix_WeightedGraph_2_VerticesCount