@raikuxq/alg-ds 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/lib/algorithms/binary-search.d.ts +5 -0
  2. package/lib/algorithms/binary-search.js +27 -0
  3. package/lib/algorithms/factorial.d.ts +9 -0
  4. package/lib/algorithms/factorial.js +17 -0
  5. package/lib/algorithms/fibonacci.d.ts +9 -0
  6. package/lib/algorithms/fibonacci.js +17 -0
  7. package/lib/algorithms/memoize.d.ts +5 -0
  8. package/lib/algorithms/memoize.js +22 -0
  9. package/lib/algorithms/sorts/bubble-sort.d.ts +9 -0
  10. package/lib/algorithms/sorts/bubble-sort.js +23 -0
  11. package/lib/algorithms/sorts/insertion-sort.d.ts +9 -0
  12. package/lib/algorithms/sorts/insertion-sort.js +25 -0
  13. package/lib/algorithms/sorts/merge-sort.d.ts +9 -0
  14. package/lib/algorithms/sorts/merge-sort.js +61 -0
  15. package/lib/algorithms/sorts/quick-sort.d.ts +9 -0
  16. package/lib/algorithms/sorts/quick-sort.js +45 -0
  17. package/lib/algorithms/sorts/select-sort.d.ts +9 -0
  18. package/lib/algorithms/sorts/select-sort.js +20 -0
  19. package/lib/algorithms/transpose-matrix.d.ts +5 -0
  20. package/lib/algorithms/transpose-matrix.js +20 -0
  21. package/lib/constants.d.ts +2 -0
  22. package/lib/constants.js +6 -0
  23. package/lib/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryNode.d.ts +15 -0
  24. package/lib/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryNode.js +53 -0
  25. package/lib/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.d.ts +60 -0
  26. package/lib/data-structures/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.js +36 -0
  27. package/lib/data-structures/BinaryTree/BinarySearchTree/BinarySearchNode.d.ts +13 -0
  28. package/lib/data-structures/BinaryTree/BinarySearchTree/BinarySearchNode.js +59 -0
  29. package/lib/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.d.ts +70 -0
  30. package/lib/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.js +268 -0
  31. package/lib/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchNode.d.ts +16 -0
  32. package/lib/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchNode.js +70 -0
  33. package/lib/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.d.ts +57 -0
  34. package/lib/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.js +234 -0
  35. package/lib/data-structures/Graph/AbstractGraph.d.ts +84 -0
  36. package/lib/data-structures/Graph/AbstractGraph.js +141 -0
  37. package/lib/data-structures/Graph/DirectedGraph.d.ts +24 -0
  38. package/lib/data-structures/Graph/DirectedGraph.js +85 -0
  39. package/lib/data-structures/Graph/GraphEdge.d.ts +16 -0
  40. package/lib/data-structures/Graph/GraphEdge.js +43 -0
  41. package/lib/data-structures/Graph/UndirectedGraph.d.ts +28 -0
  42. package/lib/data-structures/Graph/UndirectedGraph.js +102 -0
  43. package/lib/data-structures/Graph/demo/generateRandomGraph.d.ts +4 -0
  44. package/lib/data-structures/Graph/demo/generateRandomGraph.js +72 -0
  45. package/lib/data-structures/Graph/iterator/AbstractGraphIterator.d.ts +35 -0
  46. package/lib/data-structures/Graph/iterator/AbstractGraphIterator.js +90 -0
  47. package/lib/data-structures/Graph/iterator/GraphIteratorBFS.d.ts +28 -0
  48. package/lib/data-structures/Graph/iterator/GraphIteratorBFS.js +70 -0
  49. package/lib/data-structures/Graph/iterator/GraphIteratorDFS.d.ts +28 -0
  50. package/lib/data-structures/Graph/iterator/GraphIteratorDFS.js +70 -0
  51. package/lib/data-structures/Graph/iterator/GraphIteratorDijkstra.d.ts +32 -0
  52. package/lib/data-structures/Graph/iterator/GraphIteratorDijkstra.js +99 -0
  53. package/lib/data-structures/Graph/presenter/presenterAdjacencyLists.d.ts +19 -0
  54. package/lib/data-structures/Graph/presenter/presenterAdjacencyLists.js +28 -0
  55. package/lib/data-structures/Graph/presenter/presenterAdjacencyMatrix.d.ts +32 -0
  56. package/lib/data-structures/Graph/presenter/presenterAdjacencyMatrix.js +48 -0
  57. package/lib/data-structures/Graph/searching/hasPath.d.ts +9 -0
  58. package/lib/data-structures/Graph/searching/hasPath.js +29 -0
  59. package/lib/data-structures/Graph/searching/shortestPath.d.ts +9 -0
  60. package/lib/data-structures/Graph/searching/shortestPath.js +29 -0
  61. package/lib/data-structures/Graph/strategy/BFSIterationStrategy.d.ts +6 -0
  62. package/lib/data-structures/Graph/strategy/BFSIterationStrategy.js +13 -0
  63. package/lib/data-structures/Graph/strategy/DFSIterationStrategy.d.ts +6 -0
  64. package/lib/data-structures/Graph/strategy/DFSIterationStrategy.js +13 -0
  65. package/lib/data-structures/Graph/strategy/DijkstraIterationStrategy.d.ts +6 -0
  66. package/lib/data-structures/Graph/strategy/DijkstraIterationStrategy.js +13 -0
  67. package/lib/data-structures/Graph/transposing/transposeDirectedGraph.d.ts +2 -0
  68. package/lib/data-structures/Graph/transposing/transposeDirectedGraph.js +14 -0
  69. package/lib/data-structures/HashTable/HashTable.d.ts +73 -0
  70. package/lib/data-structures/HashTable/HashTable.js +169 -0
  71. package/lib/data-structures/HashTable/HashTableNode.d.ts +11 -0
  72. package/lib/data-structures/HashTable/HashTableNode.js +39 -0
  73. package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.d.ts +125 -0
  74. package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +236 -0
  75. package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedNode.d.ts +20 -0
  76. package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedNode.js +41 -0
  77. package/lib/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.d.ts +48 -0
  78. package/lib/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.js +150 -0
  79. package/lib/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedNode.d.ts +25 -0
  80. package/lib/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedNode.js +65 -0
  81. package/lib/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.d.ts +52 -0
  82. package/lib/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.js +137 -0
  83. package/lib/data-structures/LinkedList/SingleLinkedList/SingleLinkedNode.d.ts +7 -0
  84. package/lib/data-structures/LinkedList/SingleLinkedList/SingleLinkedNode.js +29 -0
  85. package/lib/data-structures/LoopedArray/LoopedArray.d.ts +86 -0
  86. package/lib/data-structures/LoopedArray/LoopedArray.js +161 -0
  87. package/lib/data-structures/Queue/Queue.d.ts +50 -0
  88. package/lib/data-structures/Queue/Queue.js +83 -0
  89. package/lib/data-structures/Stack/Stack.d.ts +50 -0
  90. package/lib/data-structures/Stack/Stack.js +83 -0
  91. package/lib/exports/algorithms.d.ts +16 -0
  92. package/lib/exports/algorithms.js +36 -0
  93. package/lib/exports/constants.d.ts +2 -0
  94. package/lib/exports/constants.js +7 -0
  95. package/lib/exports/data-structures.d.ts +11 -0
  96. package/lib/exports/data-structures.js +24 -0
  97. package/lib/exports/helpers.d.ts +6 -0
  98. package/lib/exports/helpers.js +14 -0
  99. package/lib/exports/sorts.d.ts +6 -0
  100. package/lib/exports/sorts.js +14 -0
  101. package/lib/exports/utils.d.ts +3 -0
  102. package/lib/exports/utils.js +14 -0
  103. package/lib/exports.d.ts +44 -0
  104. package/lib/exports.js +89 -0
  105. package/lib/helpers/createBinaryTree.d.ts +6 -0
  106. package/lib/helpers/createBinaryTree.js +22 -0
  107. package/lib/helpers/createGraph.d.ts +6 -0
  108. package/lib/helpers/createGraph.js +24 -0
  109. package/lib/helpers/createGraphFromMatrix.d.ts +7 -0
  110. package/lib/helpers/createGraphFromMatrix.js +37 -0
  111. package/lib/helpers/createLinkedList.d.ts +3 -0
  112. package/lib/helpers/createLinkedList.js +21 -0
  113. package/lib/index.d.ts +3 -0
  114. package/lib/index.js +6 -0
  115. package/lib/types/ArrayMatrix.d.ts +1 -0
  116. package/lib/types/ArrayMatrix.js +3 -0
  117. package/lib/types/EnumBinarySearchTreeType.d.ts +4 -0
  118. package/lib/types/EnumBinarySearchTreeType.js +9 -0
  119. package/lib/types/EnumGraphType.d.ts +4 -0
  120. package/lib/types/EnumGraphType.js +9 -0
  121. package/lib/types/EnumLinkedListType.d.ts +4 -0
  122. package/lib/types/EnumLinkedListType.js +9 -0
  123. package/lib/types/EnumRandomGenerationFormat.d.ts +4 -0
  124. package/lib/types/EnumRandomGenerationFormat.js +9 -0
  125. package/lib/types/EnumTreeTraversalType.d.ts +5 -0
  126. package/lib/types/EnumTreeTraversalType.js +10 -0
  127. package/lib/types/FnCompareTwo.d.ts +1 -0
  128. package/lib/types/FnCompareTwo.js +3 -0
  129. package/lib/types/FnToMemoize.d.ts +1 -0
  130. package/lib/types/FnToMemoize.js +3 -0
  131. package/lib/types/IArrayFacade.d.ts +4 -0
  132. package/lib/types/IArrayFacade.js +3 -0
  133. package/lib/types/IBiDirectIterable.d.ts +5 -0
  134. package/lib/types/IBiDirectIterable.js +3 -0
  135. package/lib/types/IBiDirectIterator.d.ts +11 -0
  136. package/lib/types/IBiDirectIterator.js +3 -0
  137. package/lib/types/IBinaryTree.d.ts +12 -0
  138. package/lib/types/IBinaryTree.js +3 -0
  139. package/lib/types/IConvertableToArray.d.ts +4 -0
  140. package/lib/types/IConvertableToArray.js +3 -0
  141. package/lib/types/IGraph.d.ts +14 -0
  142. package/lib/types/IGraph.js +3 -0
  143. package/lib/types/IGraphIterationStrategy.d.ts +5 -0
  144. package/lib/types/IGraphIterationStrategy.js +3 -0
  145. package/lib/types/IGraphIterator.d.ts +11 -0
  146. package/lib/types/IGraphIterator.js +3 -0
  147. package/lib/types/IIterable.d.ts +4 -0
  148. package/lib/types/IIterable.js +3 -0
  149. package/lib/types/IIterator.d.ts +14 -0
  150. package/lib/types/IIterator.js +3 -0
  151. package/lib/types/IKeyValueStorage.d.ts +8 -0
  152. package/lib/types/IKeyValueStorage.js +3 -0
  153. package/lib/types/ILinearStorage.d.ts +11 -0
  154. package/lib/types/ILinearStorage.js +3 -0
  155. package/lib/types/ILinearStorageRA.d.ts +13 -0
  156. package/lib/types/ILinearStorageRA.js +3 -0
  157. package/lib/types/ILinkedList.d.ts +4 -0
  158. package/lib/types/ILinkedList.js +3 -0
  159. package/lib/utils.d.ts +29 -0
  160. package/lib/utils.js +95 -0
  161. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ import ILinearStorage from "../../types/ILinearStorage";
2
+ /**
3
+ * LIFO data structure
4
+ */
5
+ export default class Stack<T> implements ILinearStorage<T> {
6
+ private readonly _list;
7
+ /**
8
+ * Create a stack instance
9
+ */
10
+ constructor(capacity?: number);
11
+ /**
12
+ * Get stack top element
13
+ * @throws when list is empty
14
+ */
15
+ peek(): T;
16
+ /**
17
+ * Add element to stack head
18
+ * @throws when list is full
19
+ */
20
+ push(item: T): void;
21
+ /**
22
+ * Remove element from stack head
23
+ * @throws when list is empty
24
+ */
25
+ pop(): T;
26
+ /**
27
+ * Check if element exists in list
28
+ */
29
+ has(item: T): boolean;
30
+ /**
31
+ * Is stack empty
32
+ */
33
+ isEmpty(): boolean;
34
+ /**
35
+ * Is stack full
36
+ */
37
+ isFull(): boolean;
38
+ /**
39
+ * Remove all elements in stack
40
+ */
41
+ clear(): void;
42
+ /**
43
+ * Queue length
44
+ */
45
+ length(): number;
46
+ /**
47
+ * Reverse stack
48
+ */
49
+ reverse(): void;
50
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var DoubleLinkedList_1 = require("../LinkedList/DoubleLinkedList/DoubleLinkedList");
4
+ /**
5
+ * LIFO data structure
6
+ */
7
+ var Stack = /** @class */ (function () {
8
+ /**
9
+ * Create a stack instance
10
+ */
11
+ function Stack(capacity) {
12
+ this._list = new DoubleLinkedList_1.default(capacity);
13
+ }
14
+ /**
15
+ * Get stack top element
16
+ * @throws when list is empty
17
+ */
18
+ Stack.prototype.peek = function () {
19
+ if (this.isEmpty()) {
20
+ throw new Error("Cannot peek when list is empty");
21
+ }
22
+ return this._list.peek();
23
+ };
24
+ /**
25
+ * Add element to stack head
26
+ * @throws when list is full
27
+ */
28
+ Stack.prototype.push = function (item) {
29
+ if (this.isFull()) {
30
+ throw new Error("Stack is full");
31
+ }
32
+ this._list.push(item);
33
+ };
34
+ /**
35
+ * Remove element from stack head
36
+ * @throws when list is empty
37
+ */
38
+ Stack.prototype.pop = function () {
39
+ if (this.isEmpty()) {
40
+ throw new Error("Cannot pop when stack is empty");
41
+ }
42
+ return this._list.pop();
43
+ };
44
+ /**
45
+ * Check if element exists in list
46
+ */
47
+ Stack.prototype.has = function (item) {
48
+ return this._list.has(item);
49
+ };
50
+ /**
51
+ * Is stack empty
52
+ */
53
+ Stack.prototype.isEmpty = function () {
54
+ return this._list.isEmpty();
55
+ };
56
+ /**
57
+ * Is stack full
58
+ */
59
+ Stack.prototype.isFull = function () {
60
+ return this._list.isFull();
61
+ };
62
+ /**
63
+ * Remove all elements in stack
64
+ */
65
+ Stack.prototype.clear = function () {
66
+ this._list.clear();
67
+ };
68
+ /**
69
+ * Queue length
70
+ */
71
+ Stack.prototype.length = function () {
72
+ return this._list.length();
73
+ };
74
+ /**
75
+ * Reverse stack
76
+ */
77
+ Stack.prototype.reverse = function () {
78
+ this._list.reverse();
79
+ };
80
+ return Stack;
81
+ }());
82
+ exports.default = Stack;
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS1zdHJ1Y3R1cmVzL1N0YWNrL1N0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0ZBQStFO0FBSS9FOztHQUVHO0FBQ0g7SUFHRTs7T0FFRztJQUNILGVBQW1CLFFBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQUksR0FBWDtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQUksR0FBWCxVQUFZLElBQU87UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxtQkFBRyxHQUFWO1FBQ0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFHLEdBQVYsVUFBVyxJQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQU8sR0FBZDtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBTSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFLLEdBQVo7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLHNCQUFNLEdBQWI7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQU8sR0FBZDtRQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBcEZELElBb0ZDIn0=
@@ -0,0 +1,16 @@
1
+ import { factorial, memoizedFactorial } from "../algorithms/factorial";
2
+ import { fibonacci, memoizedFibonacci } from "../algorithms/fibonacci";
3
+ import { binarySearch } from "../algorithms/binary-search";
4
+ import { transposeMatrix } from "../algorithms/transpose-matrix";
5
+ import { transposeDirectedGraph } from "../data-structures/Graph/transposing/transposeDirectedGraph";
6
+ import BFSIterationStrategy from "../data-structures/Graph/strategy/BFSIterationStrategy";
7
+ import DFSIterationStrategy from "../data-structures/Graph/strategy/DFSIterationStrategy";
8
+ import DijkstraIterationStrategy from "../data-structures/Graph/strategy/DijkstraIterationStrategy";
9
+ import GraphIteratorBFS from "../data-structures/Graph/iterator/GraphIteratorBFS";
10
+ import GraphIteratorDFS from "../data-structures/Graph/iterator/GraphIteratorDFS";
11
+ import GraphIteratorDijkstra from "../data-structures/Graph/iterator/GraphIteratorDijkstra";
12
+ import { hasPath } from "../data-structures/Graph/searching/hasPath";
13
+ import { shortestPath } from "../data-structures/Graph/searching/shortestPath";
14
+ import { presenterAdjacencyMatrix } from "../data-structures/Graph/presenter/presenterAdjacencyMatrix";
15
+ import { presenterAdjacencyLists } from "../data-structures/Graph/presenter/presenterAdjacencyLists";
16
+ export { binarySearch, factorial, memoizedFactorial, memoizedFibonacci, fibonacci, transposeMatrix, GraphIteratorDFS, presenterAdjacencyLists, presenterAdjacencyMatrix, hasPath, shortestPath, DijkstraIterationStrategy, DFSIterationStrategy, BFSIterationStrategy, GraphIteratorBFS, GraphIteratorDijkstra, transposeDirectedGraph, };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transposeDirectedGraph = exports.GraphIteratorDijkstra = exports.GraphIteratorBFS = exports.BFSIterationStrategy = exports.DFSIterationStrategy = exports.DijkstraIterationStrategy = exports.shortestPath = exports.hasPath = exports.presenterAdjacencyMatrix = exports.presenterAdjacencyLists = exports.GraphIteratorDFS = exports.transposeMatrix = exports.fibonacci = exports.memoizedFibonacci = exports.memoizedFactorial = exports.factorial = exports.binarySearch = void 0;
4
+ var factorial_1 = require("../algorithms/factorial");
5
+ Object.defineProperty(exports, "factorial", { enumerable: true, get: function () { return factorial_1.factorial; } });
6
+ Object.defineProperty(exports, "memoizedFactorial", { enumerable: true, get: function () { return factorial_1.memoizedFactorial; } });
7
+ var fibonacci_1 = require("../algorithms/fibonacci");
8
+ Object.defineProperty(exports, "fibonacci", { enumerable: true, get: function () { return fibonacci_1.fibonacci; } });
9
+ Object.defineProperty(exports, "memoizedFibonacci", { enumerable: true, get: function () { return fibonacci_1.memoizedFibonacci; } });
10
+ var binary_search_1 = require("../algorithms/binary-search");
11
+ Object.defineProperty(exports, "binarySearch", { enumerable: true, get: function () { return binary_search_1.binarySearch; } });
12
+ var transpose_matrix_1 = require("../algorithms/transpose-matrix");
13
+ Object.defineProperty(exports, "transposeMatrix", { enumerable: true, get: function () { return transpose_matrix_1.transposeMatrix; } });
14
+ var transposeDirectedGraph_1 = require("../data-structures/Graph/transposing/transposeDirectedGraph");
15
+ Object.defineProperty(exports, "transposeDirectedGraph", { enumerable: true, get: function () { return transposeDirectedGraph_1.transposeDirectedGraph; } });
16
+ var BFSIterationStrategy_1 = require("../data-structures/Graph/strategy/BFSIterationStrategy");
17
+ exports.BFSIterationStrategy = BFSIterationStrategy_1.default;
18
+ var DFSIterationStrategy_1 = require("../data-structures/Graph/strategy/DFSIterationStrategy");
19
+ exports.DFSIterationStrategy = DFSIterationStrategy_1.default;
20
+ var DijkstraIterationStrategy_1 = require("../data-structures/Graph/strategy/DijkstraIterationStrategy");
21
+ exports.DijkstraIterationStrategy = DijkstraIterationStrategy_1.default;
22
+ var GraphIteratorBFS_1 = require("../data-structures/Graph/iterator/GraphIteratorBFS");
23
+ exports.GraphIteratorBFS = GraphIteratorBFS_1.default;
24
+ var GraphIteratorDFS_1 = require("../data-structures/Graph/iterator/GraphIteratorDFS");
25
+ exports.GraphIteratorDFS = GraphIteratorDFS_1.default;
26
+ var GraphIteratorDijkstra_1 = require("../data-structures/Graph/iterator/GraphIteratorDijkstra");
27
+ exports.GraphIteratorDijkstra = GraphIteratorDijkstra_1.default;
28
+ var hasPath_1 = require("../data-structures/Graph/searching/hasPath");
29
+ Object.defineProperty(exports, "hasPath", { enumerable: true, get: function () { return hasPath_1.hasPath; } });
30
+ var shortestPath_1 = require("../data-structures/Graph/searching/shortestPath");
31
+ Object.defineProperty(exports, "shortestPath", { enumerable: true, get: function () { return shortestPath_1.shortestPath; } });
32
+ var presenterAdjacencyMatrix_1 = require("../data-structures/Graph/presenter/presenterAdjacencyMatrix");
33
+ Object.defineProperty(exports, "presenterAdjacencyMatrix", { enumerable: true, get: function () { return presenterAdjacencyMatrix_1.presenterAdjacencyMatrix; } });
34
+ var presenterAdjacencyLists_1 = require("../data-structures/Graph/presenter/presenterAdjacencyLists");
35
+ Object.defineProperty(exports, "presenterAdjacencyLists", { enumerable: true, get: function () { return presenterAdjacencyLists_1.presenterAdjacencyLists; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb3JpdGhtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL2FsZ29yaXRobXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVFO0FBa0JyRSwwRkFsQk8scUJBQVMsT0FrQlA7QUFDVCxrR0FuQmtCLDZCQUFpQixPQW1CbEI7QUFsQm5CLHFEQUF1RTtBQW9CckUsMEZBcEJPLHFCQUFTLE9Bb0JQO0FBRFQsa0dBbkJrQiw2QkFBaUIsT0FtQmxCO0FBbEJuQiw2REFBMkQ7QUFlekQsNkZBZk8sNEJBQVksT0FlUDtBQWRkLG1FQUFpRTtBQW1CL0QsZ0dBbkJPLGtDQUFlLE9BbUJQO0FBbEJqQixzR0FBcUc7QUE2Qm5HLHVHQTdCTywrQ0FBc0IsT0E2QlA7QUE1QnhCLCtGQUEwRjtBQXlCeEYsK0JBekJLLDhCQUFvQixDQXlCTDtBQXhCdEIsK0ZBQTBGO0FBdUJ4RiwrQkF2QkssOEJBQW9CLENBdUJMO0FBdEJ0Qix5R0FBb0c7QUFxQmxHLG9DQXJCSyxtQ0FBeUIsQ0FxQkw7QUFwQjNCLHVGQUFrRjtBQXVCaEYsMkJBdkJLLDBCQUFnQixDQXVCTDtBQXRCbEIsdUZBQWtGO0FBY2hGLDJCQWRLLDBCQUFnQixDQWNMO0FBYmxCLGlHQUE0RjtBQXNCMUYsZ0NBdEJLLCtCQUFxQixDQXNCTDtBQXJCdkIsc0VBQXFFO0FBZW5FLHdGQWZPLGlCQUFPLE9BZVA7QUFkVCxnRkFBK0U7QUFlN0UsNkZBZk8sMkJBQVksT0FlUDtBQWRkLHdHQUF1RztBQVlyRyx5R0FaTyxtREFBd0IsT0FZUDtBQVgxQixzR0FBcUc7QUFVbkcsd0dBVk8saURBQXVCLE9BVVAifQ==
@@ -0,0 +1,2 @@
1
+ import { EDGE_EXISTS_STATE, EDGE_NOT_EXISTS_STATE } from "../constants";
2
+ export { EDGE_NOT_EXISTS_STATE, EDGE_EXISTS_STATE };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDGE_EXISTS_STATE = exports.EDGE_NOT_EXISTS_STATE = void 0;
4
+ var constants_1 = require("../constants");
5
+ Object.defineProperty(exports, "EDGE_EXISTS_STATE", { enumerable: true, get: function () { return constants_1.EDGE_EXISTS_STATE; } });
6
+ Object.defineProperty(exports, "EDGE_NOT_EXISTS_STATE", { enumerable: true, get: function () { return constants_1.EDGE_NOT_EXISTS_STATE; } });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cG9ydHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUF3RTtBQUV4QyxrR0FGdkIsNkJBQWlCLE9BRXVCO0FBQXhDLHNHQUZtQixpQ0FBcUIsT0FFbkIifQ==
@@ -0,0 +1,11 @@
1
+ import Queue from "../data-structures/Queue/Queue";
2
+ import Stack from "../data-structures/Stack/Stack";
3
+ import UndirectedGraph from "../data-structures/Graph/UndirectedGraph";
4
+ import DirectedGraph from "../data-structures/Graph/DirectedGraph";
5
+ import BinarySearchTree from "../data-structures/BinaryTree/BinarySearchTree/BinarySearchTree";
6
+ import RandBinarySearchTree from "../data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree";
7
+ import DoubleLinkedList from "../data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList";
8
+ import SingleLinkedList from "../data-structures/LinkedList/SingleLinkedList/SingleLinkedList";
9
+ import LoopedArray from "../data-structures/LoopedArray/LoopedArray";
10
+ import HashTable from "../data-structures/HashTable/HashTable";
11
+ export { Stack, Queue, SingleLinkedList, DoubleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.DoubleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = void 0;
4
+ var Queue_1 = require("../data-structures/Queue/Queue");
5
+ exports.Queue = Queue_1.default;
6
+ var Stack_1 = require("../data-structures/Stack/Stack");
7
+ exports.Stack = Stack_1.default;
8
+ var UndirectedGraph_1 = require("../data-structures/Graph/UndirectedGraph");
9
+ exports.UndirectedGraph = UndirectedGraph_1.default;
10
+ var DirectedGraph_1 = require("../data-structures/Graph/DirectedGraph");
11
+ exports.DirectedGraph = DirectedGraph_1.default;
12
+ var BinarySearchTree_1 = require("../data-structures/BinaryTree/BinarySearchTree/BinarySearchTree");
13
+ exports.BinarySearchTree = BinarySearchTree_1.default;
14
+ var RandBinarySearchTree_1 = require("../data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree");
15
+ exports.RandBinarySearchTree = RandBinarySearchTree_1.default;
16
+ var DoubleLinkedList_1 = require("../data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList");
17
+ exports.DoubleLinkedList = DoubleLinkedList_1.default;
18
+ var SingleLinkedList_1 = require("../data-structures/LinkedList/SingleLinkedList/SingleLinkedList");
19
+ exports.SingleLinkedList = SingleLinkedList_1.default;
20
+ var LoopedArray_1 = require("../data-structures/LoopedArray/LoopedArray");
21
+ exports.LoopedArray = LoopedArray_1.default;
22
+ var HashTable_1 = require("../data-structures/HashTable/HashTable");
23
+ exports.HashTable = HashTable_1.default;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdHJ1Y3R1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cG9ydHMvZGF0YS1zdHJ1Y3R1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUFtRDtBQWFqRCxnQkFiSyxlQUFLLENBYUw7QUFaUCx3REFBbUQ7QUFXakQsZ0JBWEssZUFBSyxDQVdMO0FBVlAsNEVBQXVFO0FBaUJyRSwwQkFqQksseUJBQWUsQ0FpQkw7QUFoQmpCLHdFQUFtRTtBQWVqRSx3QkFmSyx1QkFBYSxDQWVMO0FBZGYsb0dBQStGO0FBYTdGLDJCQWJLLDBCQUFnQixDQWFMO0FBWmxCLGdIQUEyRztBQVd6RywrQkFYSyw4QkFBb0IsQ0FXTDtBQVZ0QixvR0FBK0Y7QUFTN0YsMkJBVEssMEJBQWdCLENBU0w7QUFSbEIsb0dBQStGO0FBTzdGLDJCQVBLLDBCQUFnQixDQU9MO0FBTmxCLDBFQUFxRTtBQVluRSxzQkFaSyxxQkFBVyxDQVlMO0FBWGIsb0VBQStEO0FBWTdELG9CQVpLLG1CQUFTLENBWUwifQ==
@@ -0,0 +1,6 @@
1
+ import { generateRandomGraph } from "../data-structures/Graph/demo/generateRandomGraph";
2
+ import { createLinkedList } from "../helpers/createLinkedList";
3
+ import { createBinaryTree } from "../helpers/createBinaryTree";
4
+ import { createGraph } from "../helpers/createGraph";
5
+ import { createGraphFromMatrix } from "../helpers/createGraphFromMatrix";
6
+ export { createGraph, createGraphFromMatrix, createBinaryTree, createLinkedList, generateRandomGraph, };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateRandomGraph = exports.createLinkedList = exports.createBinaryTree = exports.createGraphFromMatrix = exports.createGraph = void 0;
4
+ var generateRandomGraph_1 = require("../data-structures/Graph/demo/generateRandomGraph");
5
+ Object.defineProperty(exports, "generateRandomGraph", { enumerable: true, get: function () { return generateRandomGraph_1.generateRandomGraph; } });
6
+ var createLinkedList_1 = require("../helpers/createLinkedList");
7
+ Object.defineProperty(exports, "createLinkedList", { enumerable: true, get: function () { return createLinkedList_1.createLinkedList; } });
8
+ var createBinaryTree_1 = require("../helpers/createBinaryTree");
9
+ Object.defineProperty(exports, "createBinaryTree", { enumerable: true, get: function () { return createBinaryTree_1.createBinaryTree; } });
10
+ var createGraph_1 = require("../helpers/createGraph");
11
+ Object.defineProperty(exports, "createGraph", { enumerable: true, get: function () { return createGraph_1.createGraph; } });
12
+ var createGraphFromMatrix_1 = require("../helpers/createGraphFromMatrix");
13
+ Object.defineProperty(exports, "createGraphFromMatrix", { enumerable: true, get: function () { return createGraphFromMatrix_1.createGraphFromMatrix; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUZBQXdGO0FBV3RGLG9HQVhPLHlDQUFtQixPQVdQO0FBVnJCLGdFQUErRDtBQVM3RCxpR0FUTyxtQ0FBZ0IsT0FTUDtBQVJsQixnRUFBK0Q7QUFPN0QsaUdBUE8sbUNBQWdCLE9BT1A7QUFObEIsc0RBQXFEO0FBSW5ELDRGQUpPLHlCQUFXLE9BSVA7QUFIYiwwRUFBeUU7QUFJdkUsc0dBSk8sNkNBQXFCLE9BSVAifQ==
@@ -0,0 +1,6 @@
1
+ import { bubbleSort } from "../algorithms/sorts/bubble-sort";
2
+ import { selectSort } from "../algorithms/sorts/select-sort";
3
+ import { mergeSort } from "../algorithms/sorts/merge-sort";
4
+ import { insertionSort } from "../algorithms/sorts/insertion-sort";
5
+ import { quickSort } from "../algorithms/sorts/quick-sort";
6
+ export { bubbleSort, insertionSort, mergeSort, selectSort, quickSort };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quickSort = exports.selectSort = exports.mergeSort = exports.insertionSort = exports.bubbleSort = void 0;
4
+ var bubble_sort_1 = require("../algorithms/sorts/bubble-sort");
5
+ Object.defineProperty(exports, "bubbleSort", { enumerable: true, get: function () { return bubble_sort_1.bubbleSort; } });
6
+ var select_sort_1 = require("../algorithms/sorts/select-sort");
7
+ Object.defineProperty(exports, "selectSort", { enumerable: true, get: function () { return select_sort_1.selectSort; } });
8
+ var merge_sort_1 = require("../algorithms/sorts/merge-sort");
9
+ Object.defineProperty(exports, "mergeSort", { enumerable: true, get: function () { return merge_sort_1.mergeSort; } });
10
+ var insertion_sort_1 = require("../algorithms/sorts/insertion-sort");
11
+ Object.defineProperty(exports, "insertionSort", { enumerable: true, get: function () { return insertion_sort_1.insertionSort; } });
12
+ var quick_sort_1 = require("../algorithms/sorts/quick-sort");
13
+ Object.defineProperty(exports, "quickSort", { enumerable: true, get: function () { return quick_sort_1.quickSort; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwb3J0cy9zb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBNkQ7QUFNcEQsMkZBTkEsd0JBQVUsT0FNQTtBQUxuQiwrREFBNkQ7QUFLZCwyRkFMdEMsd0JBQVUsT0FLc0M7QUFKekQsNkRBQTJEO0FBSXZCLDBGQUozQixzQkFBUyxPQUkyQjtBQUg3QyxxRUFBbUU7QUFHOUMsOEZBSFosOEJBQWEsT0FHWTtBQUZsQyw2REFBMkQ7QUFFQSwwRkFGbEQsc0JBQVMsT0FFa0QifQ==
@@ -0,0 +1,3 @@
1
+ import { memoize } from "../algorithms/memoize";
2
+ import { getMinIndex, getMinIndexFromIndex, perf, randomizeNumberInRange, roundNumber, swapArrayItems, perfAsync } from "../utils";
3
+ export { perf, getMinIndex, getMinIndexFromIndex, memoize, perfAsync, roundNumber, randomizeNumberInRange, swapArrayItems, };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.perfAsync = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = exports.perf = void 0;
4
+ var memoize_1 = require("../algorithms/memoize");
5
+ Object.defineProperty(exports, "memoize", { enumerable: true, get: function () { return memoize_1.memoize; } });
6
+ var utils_1 = require("../utils");
7
+ Object.defineProperty(exports, "getMinIndex", { enumerable: true, get: function () { return utils_1.getMinIndex; } });
8
+ Object.defineProperty(exports, "getMinIndexFromIndex", { enumerable: true, get: function () { return utils_1.getMinIndexFromIndex; } });
9
+ Object.defineProperty(exports, "perf", { enumerable: true, get: function () { return utils_1.perf; } });
10
+ Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get: function () { return utils_1.randomizeNumberInRange; } });
11
+ Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
12
+ Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
13
+ Object.defineProperty(exports, "perfAsync", { enumerable: true, get: function () { return utils_1.perfAsync; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwb3J0cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBZ0Q7QUFlOUMsd0ZBZk8saUJBQU8sT0FlUDtBQWRULGtDQVFrQjtBQUloQiw0RkFYQSxtQkFBVyxPQVdBO0FBQ1gscUdBWEEsNEJBQW9CLE9BV0E7QUFGcEIscUZBUkEsWUFBSSxPQVFBO0FBTUosdUdBYkEsOEJBQXNCLE9BYUE7QUFEdEIsNEZBWEEsbUJBQVcsT0FXQTtBQUVYLCtGQVpBLHNCQUFjLE9BWUE7QUFIZCwwRkFSQSxpQkFBUyxPQVFBIn0=
@@ -0,0 +1,44 @@
1
+ import { factorial, memoizedFactorial } from "./algorithms/factorial";
2
+ import { fibonacci, memoizedFibonacci } from "./algorithms/fibonacci";
3
+ import { binarySearch } from "./algorithms/binary-search";
4
+ import { transposeMatrix } from "./algorithms/transpose-matrix";
5
+ import { transposeDirectedGraph } from "./data-structures/Graph/transposing/transposeDirectedGraph";
6
+ import BFSIterationStrategy from "./data-structures/Graph/strategy/BFSIterationStrategy";
7
+ import DFSIterationStrategy from "./data-structures/Graph/strategy/DFSIterationStrategy";
8
+ import DijkstraIterationStrategy from "./data-structures/Graph/strategy/DijkstraIterationStrategy";
9
+ import GraphIteratorBFS from "./data-structures/Graph/iterator/GraphIteratorBFS";
10
+ import GraphIteratorDFS from "./data-structures/Graph/iterator/GraphIteratorDFS";
11
+ import GraphIteratorDijkstra from "./data-structures/Graph/iterator/GraphIteratorDijkstra";
12
+ import { hasPath } from "./data-structures/Graph/searching/hasPath";
13
+ import { shortestPath } from "./data-structures/Graph/searching/shortestPath";
14
+ import { presenterAdjacencyMatrix } from "./data-structures/Graph/presenter/presenterAdjacencyMatrix";
15
+ import { presenterAdjacencyLists } from "./data-structures/Graph/presenter/presenterAdjacencyLists";
16
+ import { generateRandomGraph } from "./data-structures/Graph/demo/generateRandomGraph";
17
+ import { createLinkedList } from "./helpers/createLinkedList";
18
+ import { createBinaryTree } from "./helpers/createBinaryTree";
19
+ import { createGraph } from "./helpers/createGraph";
20
+ import { createGraphFromMatrix } from "./helpers/createGraphFromMatrix";
21
+ import { EDGE_EXISTS_STATE, EDGE_NOT_EXISTS_STATE } from "./constants";
22
+ import Queue from "./data-structures/Queue/Queue";
23
+ import Stack from "./data-structures/Stack/Stack";
24
+ import UndirectedGraph from "./data-structures/Graph/UndirectedGraph";
25
+ import DirectedGraph from "./data-structures/Graph/DirectedGraph";
26
+ import BinarySearchTree from "./data-structures/BinaryTree/BinarySearchTree/BinarySearchTree";
27
+ import RandBinarySearchTree from "./data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree";
28
+ import DoubleLinkedList from "./data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList";
29
+ import SingleLinkedList from "./data-structures/LinkedList/SingleLinkedList/SingleLinkedList";
30
+ import LoopedArray from "./data-structures/LoopedArray/LoopedArray";
31
+ import HashTable from "./data-structures/HashTable/HashTable";
32
+ import { bubbleSort } from "./algorithms/sorts/bubble-sort";
33
+ import { selectSort } from "./algorithms/sorts/select-sort";
34
+ import { mergeSort } from "./algorithms/sorts/merge-sort";
35
+ import { insertionSort } from "./algorithms/sorts/insertion-sort";
36
+ import { quickSort } from "./algorithms/sorts/quick-sort";
37
+ import { memoize } from "./algorithms/memoize";
38
+ import { getMinIndex, getMinIndexFromIndex, perf, randomizeNumberInRange, roundNumber, swapArrayItems, perfAsync } from "./utils";
39
+ export { perf, getMinIndex, getMinIndexFromIndex, memoize, perfAsync, roundNumber, randomizeNumberInRange, swapArrayItems, };
40
+ export { bubbleSort, insertionSort, mergeSort, selectSort, quickSort };
41
+ export { Stack, Queue, SingleLinkedList, DoubleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
42
+ export { EDGE_NOT_EXISTS_STATE, EDGE_EXISTS_STATE };
43
+ export { createGraph, createGraphFromMatrix, createBinaryTree, createLinkedList, generateRandomGraph, };
44
+ export { binarySearch, factorial, memoizedFactorial, memoizedFibonacci, fibonacci, transposeMatrix, GraphIteratorDFS, presenterAdjacencyLists, presenterAdjacencyMatrix, hasPath, shortestPath, DijkstraIterationStrategy, DFSIterationStrategy, BFSIterationStrategy, GraphIteratorBFS, GraphIteratorDijkstra, transposeDirectedGraph, };
package/lib/exports.js ADDED
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transposeDirectedGraph = exports.GraphIteratorDijkstra = exports.GraphIteratorBFS = exports.BFSIterationStrategy = exports.DFSIterationStrategy = exports.DijkstraIterationStrategy = exports.shortestPath = exports.hasPath = exports.presenterAdjacencyMatrix = exports.presenterAdjacencyLists = exports.GraphIteratorDFS = exports.transposeMatrix = exports.fibonacci = exports.memoizedFibonacci = exports.memoizedFactorial = exports.factorial = exports.binarySearch = exports.generateRandomGraph = exports.createLinkedList = exports.createBinaryTree = exports.createGraphFromMatrix = exports.createGraph = exports.EDGE_EXISTS_STATE = exports.EDGE_NOT_EXISTS_STATE = exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.DoubleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = exports.quickSort = exports.selectSort = exports.mergeSort = exports.insertionSort = exports.bubbleSort = exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.perfAsync = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = exports.perf = void 0;
4
+ var factorial_1 = require("./algorithms/factorial");
5
+ Object.defineProperty(exports, "factorial", { enumerable: true, get: function () { return factorial_1.factorial; } });
6
+ Object.defineProperty(exports, "memoizedFactorial", { enumerable: true, get: function () { return factorial_1.memoizedFactorial; } });
7
+ var fibonacci_1 = require("./algorithms/fibonacci");
8
+ Object.defineProperty(exports, "fibonacci", { enumerable: true, get: function () { return fibonacci_1.fibonacci; } });
9
+ Object.defineProperty(exports, "memoizedFibonacci", { enumerable: true, get: function () { return fibonacci_1.memoizedFibonacci; } });
10
+ var binary_search_1 = require("./algorithms/binary-search");
11
+ Object.defineProperty(exports, "binarySearch", { enumerable: true, get: function () { return binary_search_1.binarySearch; } });
12
+ var transpose_matrix_1 = require("./algorithms/transpose-matrix");
13
+ Object.defineProperty(exports, "transposeMatrix", { enumerable: true, get: function () { return transpose_matrix_1.transposeMatrix; } });
14
+ var transposeDirectedGraph_1 = require("./data-structures/Graph/transposing/transposeDirectedGraph");
15
+ Object.defineProperty(exports, "transposeDirectedGraph", { enumerable: true, get: function () { return transposeDirectedGraph_1.transposeDirectedGraph; } });
16
+ var BFSIterationStrategy_1 = require("./data-structures/Graph/strategy/BFSIterationStrategy");
17
+ exports.BFSIterationStrategy = BFSIterationStrategy_1.default;
18
+ var DFSIterationStrategy_1 = require("./data-structures/Graph/strategy/DFSIterationStrategy");
19
+ exports.DFSIterationStrategy = DFSIterationStrategy_1.default;
20
+ var DijkstraIterationStrategy_1 = require("./data-structures/Graph/strategy/DijkstraIterationStrategy");
21
+ exports.DijkstraIterationStrategy = DijkstraIterationStrategy_1.default;
22
+ var GraphIteratorBFS_1 = require("./data-structures/Graph/iterator/GraphIteratorBFS");
23
+ exports.GraphIteratorBFS = GraphIteratorBFS_1.default;
24
+ var GraphIteratorDFS_1 = require("./data-structures/Graph/iterator/GraphIteratorDFS");
25
+ exports.GraphIteratorDFS = GraphIteratorDFS_1.default;
26
+ var GraphIteratorDijkstra_1 = require("./data-structures/Graph/iterator/GraphIteratorDijkstra");
27
+ exports.GraphIteratorDijkstra = GraphIteratorDijkstra_1.default;
28
+ var hasPath_1 = require("./data-structures/Graph/searching/hasPath");
29
+ Object.defineProperty(exports, "hasPath", { enumerable: true, get: function () { return hasPath_1.hasPath; } });
30
+ var shortestPath_1 = require("./data-structures/Graph/searching/shortestPath");
31
+ Object.defineProperty(exports, "shortestPath", { enumerable: true, get: function () { return shortestPath_1.shortestPath; } });
32
+ var presenterAdjacencyMatrix_1 = require("./data-structures/Graph/presenter/presenterAdjacencyMatrix");
33
+ Object.defineProperty(exports, "presenterAdjacencyMatrix", { enumerable: true, get: function () { return presenterAdjacencyMatrix_1.presenterAdjacencyMatrix; } });
34
+ var presenterAdjacencyLists_1 = require("./data-structures/Graph/presenter/presenterAdjacencyLists");
35
+ Object.defineProperty(exports, "presenterAdjacencyLists", { enumerable: true, get: function () { return presenterAdjacencyLists_1.presenterAdjacencyLists; } });
36
+ var generateRandomGraph_1 = require("./data-structures/Graph/demo/generateRandomGraph");
37
+ Object.defineProperty(exports, "generateRandomGraph", { enumerable: true, get: function () { return generateRandomGraph_1.generateRandomGraph; } });
38
+ var createLinkedList_1 = require("./helpers/createLinkedList");
39
+ Object.defineProperty(exports, "createLinkedList", { enumerable: true, get: function () { return createLinkedList_1.createLinkedList; } });
40
+ var createBinaryTree_1 = require("./helpers/createBinaryTree");
41
+ Object.defineProperty(exports, "createBinaryTree", { enumerable: true, get: function () { return createBinaryTree_1.createBinaryTree; } });
42
+ var createGraph_1 = require("./helpers/createGraph");
43
+ Object.defineProperty(exports, "createGraph", { enumerable: true, get: function () { return createGraph_1.createGraph; } });
44
+ var createGraphFromMatrix_1 = require("./helpers/createGraphFromMatrix");
45
+ Object.defineProperty(exports, "createGraphFromMatrix", { enumerable: true, get: function () { return createGraphFromMatrix_1.createGraphFromMatrix; } });
46
+ var constants_1 = require("./constants");
47
+ Object.defineProperty(exports, "EDGE_EXISTS_STATE", { enumerable: true, get: function () { return constants_1.EDGE_EXISTS_STATE; } });
48
+ Object.defineProperty(exports, "EDGE_NOT_EXISTS_STATE", { enumerable: true, get: function () { return constants_1.EDGE_NOT_EXISTS_STATE; } });
49
+ var Queue_1 = require("./data-structures/Queue/Queue");
50
+ exports.Queue = Queue_1.default;
51
+ var Stack_1 = require("./data-structures/Stack/Stack");
52
+ exports.Stack = Stack_1.default;
53
+ var UndirectedGraph_1 = require("./data-structures/Graph/UndirectedGraph");
54
+ exports.UndirectedGraph = UndirectedGraph_1.default;
55
+ var DirectedGraph_1 = require("./data-structures/Graph/DirectedGraph");
56
+ exports.DirectedGraph = DirectedGraph_1.default;
57
+ var BinarySearchTree_1 = require("./data-structures/BinaryTree/BinarySearchTree/BinarySearchTree");
58
+ exports.BinarySearchTree = BinarySearchTree_1.default;
59
+ var RandBinarySearchTree_1 = require("./data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree");
60
+ exports.RandBinarySearchTree = RandBinarySearchTree_1.default;
61
+ var DoubleLinkedList_1 = require("./data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList");
62
+ exports.DoubleLinkedList = DoubleLinkedList_1.default;
63
+ var SingleLinkedList_1 = require("./data-structures/LinkedList/SingleLinkedList/SingleLinkedList");
64
+ exports.SingleLinkedList = SingleLinkedList_1.default;
65
+ var LoopedArray_1 = require("./data-structures/LoopedArray/LoopedArray");
66
+ exports.LoopedArray = LoopedArray_1.default;
67
+ var HashTable_1 = require("./data-structures/HashTable/HashTable");
68
+ exports.HashTable = HashTable_1.default;
69
+ var bubble_sort_1 = require("./algorithms/sorts/bubble-sort");
70
+ Object.defineProperty(exports, "bubbleSort", { enumerable: true, get: function () { return bubble_sort_1.bubbleSort; } });
71
+ var select_sort_1 = require("./algorithms/sorts/select-sort");
72
+ Object.defineProperty(exports, "selectSort", { enumerable: true, get: function () { return select_sort_1.selectSort; } });
73
+ var merge_sort_1 = require("./algorithms/sorts/merge-sort");
74
+ Object.defineProperty(exports, "mergeSort", { enumerable: true, get: function () { return merge_sort_1.mergeSort; } });
75
+ var insertion_sort_1 = require("./algorithms/sorts/insertion-sort");
76
+ Object.defineProperty(exports, "insertionSort", { enumerable: true, get: function () { return insertion_sort_1.insertionSort; } });
77
+ var quick_sort_1 = require("./algorithms/sorts/quick-sort");
78
+ Object.defineProperty(exports, "quickSort", { enumerable: true, get: function () { return quick_sort_1.quickSort; } });
79
+ var memoize_1 = require("./algorithms/memoize");
80
+ Object.defineProperty(exports, "memoize", { enumerable: true, get: function () { return memoize_1.memoize; } });
81
+ var utils_1 = require("./utils");
82
+ Object.defineProperty(exports, "getMinIndex", { enumerable: true, get: function () { return utils_1.getMinIndex; } });
83
+ Object.defineProperty(exports, "getMinIndexFromIndex", { enumerable: true, get: function () { return utils_1.getMinIndexFromIndex; } });
84
+ Object.defineProperty(exports, "perf", { enumerable: true, get: function () { return utils_1.perf; } });
85
+ Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get: function () { return utils_1.randomizeNumberInRange; } });
86
+ Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
87
+ Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
88
+ Object.defineProperty(exports, "perfAsync", { enumerable: true, get: function () { return utils_1.perfAsync; } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFzRTtBQXFGcEUsMEZBckZPLHFCQUFTLE9BcUZQO0FBQ1Qsa0dBdEZrQiw2QkFBaUIsT0FzRmxCO0FBckZuQixvREFBc0U7QUF1RnBFLDBGQXZGTyxxQkFBUyxPQXVGUDtBQURULGtHQXRGa0IsNkJBQWlCLE9Bc0ZsQjtBQXJGbkIsNERBQTBEO0FBa0Z4RCw2RkFsRk8sNEJBQVksT0FrRlA7QUFqRmQsa0VBQWdFO0FBc0Y5RCxnR0F0Rk8sa0NBQWUsT0FzRlA7QUFyRmpCLHFHQUFvRztBQWdHbEcsdUdBaEdPLCtDQUFzQixPQWdHUDtBQS9GeEIsOEZBQXlGO0FBNEZ2RiwrQkE1RkssOEJBQW9CLENBNEZMO0FBM0Z0Qiw4RkFBeUY7QUEwRnZGLCtCQTFGSyw4QkFBb0IsQ0EwRkw7QUF6RnRCLHdHQUFtRztBQXdGakcsb0NBeEZLLG1DQUF5QixDQXdGTDtBQXZGM0Isc0ZBQWlGO0FBMEYvRSwyQkExRkssMEJBQWdCLENBMEZMO0FBekZsQixzRkFBaUY7QUFpRi9FLDJCQWpGSywwQkFBZ0IsQ0FpRkw7QUFoRmxCLGdHQUEyRjtBQXlGekYsZ0NBekZLLCtCQUFxQixDQXlGTDtBQXhGdkIscUVBQW9FO0FBa0ZsRSx3RkFsRk8saUJBQU8sT0FrRlA7QUFqRlQsK0VBQThFO0FBa0Y1RSw2RkFsRk8sMkJBQVksT0FrRlA7QUFqRmQsdUdBQXNHO0FBK0VwRyx5R0EvRU8sbURBQXdCLE9BK0VQO0FBOUUxQixxR0FBb0c7QUE2RWxHLHdHQTdFTyxpREFBdUIsT0E2RVA7QUE1RXpCLHdGQUF1RjtBQWlFckYsb0dBakVPLHlDQUFtQixPQWlFUDtBQWhFckIsK0RBQThEO0FBK0Q1RCxpR0EvRE8sbUNBQWdCLE9BK0RQO0FBOURsQiwrREFBOEQ7QUE2RDVELGlHQTdETyxtQ0FBZ0IsT0E2RFA7QUE1RGxCLHFEQUFvRDtBQTBEbEQsNEZBMURPLHlCQUFXLE9BMERQO0FBekRiLHlFQUF3RTtBQTBEdEUsc0dBMURPLDZDQUFxQixPQTBEUDtBQXpEdkIseUNBQXVFO0FBcUR2QyxrR0FyRHZCLDZCQUFpQixPQXFEdUI7QUFBeEMsc0dBckRtQixpQ0FBcUIsT0FxRG5CO0FBcEQ5Qix1REFBa0Q7QUF5Q2hELGdCQXpDSyxlQUFLLENBeUNMO0FBeENQLHVEQUFrRDtBQXVDaEQsZ0JBdkNLLGVBQUssQ0F1Q0w7QUF0Q1AsMkVBQXNFO0FBNkNwRSwwQkE3Q0sseUJBQWUsQ0E2Q0w7QUE1Q2pCLHVFQUFrRTtBQTJDaEUsd0JBM0NLLHVCQUFhLENBMkNMO0FBMUNmLG1HQUE4RjtBQXlDNUYsMkJBekNLLDBCQUFnQixDQXlDTDtBQXhDbEIsK0dBQTBHO0FBdUN4RywrQkF2Q0ssOEJBQW9CLENBdUNMO0FBdEN0QixtR0FBOEY7QUFxQzVGLDJCQXJDSywwQkFBZ0IsQ0FxQ0w7QUFwQ2xCLG1HQUE4RjtBQW1DNUYsMkJBbkNLLDBCQUFnQixDQW1DTDtBQWxDbEIseUVBQW9FO0FBd0NsRSxzQkF4Q0sscUJBQVcsQ0F3Q0w7QUF2Q2IsbUVBQThEO0FBd0M1RCxvQkF4Q0ssbUJBQVMsQ0F3Q0w7QUF2Q1gsOERBQTREO0FBMkJuRCwyRkEzQkEsd0JBQVUsT0EyQkE7QUExQm5CLDhEQUE0RDtBQTBCYiwyRkExQnRDLHdCQUFVLE9BMEJzQztBQXpCekQsNERBQTBEO0FBeUJ0QiwwRkF6QjNCLHNCQUFTLE9BeUIyQjtBQXhCN0Msb0VBQWtFO0FBd0I3Qyw4RkF4QlosOEJBQWEsT0F3Qlk7QUF2QmxDLDREQUEwRDtBQXVCQywwRkF2QmxELHNCQUFTLE9BdUJrRDtBQXRCcEUsZ0RBQStDO0FBZTdDLHdGQWZPLGlCQUFPLE9BZVA7QUFkVCxpQ0FRaUI7QUFJZiw0RkFYQSxtQkFBVyxPQVdBO0FBQ1gscUdBWEEsNEJBQW9CLE9BV0E7QUFGcEIscUZBUkEsWUFBSSxPQVFBO0FBTUosdUdBYkEsOEJBQXNCLE9BYUE7QUFEdEIsNEZBWEEsbUJBQVcsT0FXQTtBQUVYLCtGQVpBLHNCQUFjLE9BWUE7QUFIZCwwRkFSQSxpQkFBUyxPQVFBIn0=
@@ -0,0 +1,6 @@
1
+ import { EnumBinarySearchTreeType } from "../types/EnumBinarySearchTreeType";
2
+ import IBinaryTree from "../types/IBinaryTree";
3
+ /**
4
+ * Returns binary tree by type
5
+ */
6
+ export declare const createBinaryTree: <T>(type: EnumBinarySearchTreeType) => IBinaryTree<T>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createBinaryTree = void 0;
4
+ var EnumBinarySearchTreeType_1 = require("../types/EnumBinarySearchTreeType");
5
+ var BinarySearchTree_1 = require("../data-structures/BinaryTree/BinarySearchTree/BinarySearchTree");
6
+ var RandBinarySearchTree_1 = require("../data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree");
7
+ /**
8
+ * Returns binary tree by type
9
+ */
10
+ exports.createBinaryTree = function (type) {
11
+ var binaryTree;
12
+ switch (type) {
13
+ case EnumBinarySearchTreeType_1.EnumBinarySearchTreeType.BST:
14
+ binaryTree = new BinarySearchTree_1.default();
15
+ break;
16
+ case EnumBinarySearchTreeType_1.EnumBinarySearchTreeType.RANDOMIZED_BST:
17
+ binaryTree = new RandBinarySearchTree_1.default();
18
+ break;
19
+ }
20
+ return binaryTree;
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQmluYXJ5VHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2NyZWF0ZUJpbmFyeVRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOEVBQTZFO0FBQzdFLG9HQUErRjtBQUMvRixnSEFBMkc7QUFHM0c7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLFVBQzlCLElBQThCO0lBRTlCLElBQUksVUFBMEIsQ0FBQztJQUUvQixRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssbURBQXdCLENBQUMsR0FBRztZQUMvQixVQUFVLEdBQUcsSUFBSSwwQkFBZ0IsRUFBRSxDQUFDO1lBQ3BDLE1BQU07UUFDUixLQUFLLG1EQUF3QixDQUFDLGNBQWM7WUFDMUMsVUFBVSxHQUFHLElBQUksOEJBQW9CLEVBQUUsQ0FBQztZQUN4QyxNQUFNO0tBQ1Q7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUMifQ==
@@ -0,0 +1,6 @@
1
+ import IGraph from "../types/IGraph";
2
+ import { EnumGraphType } from "../types/EnumGraphType";
3
+ /**
4
+ * Returns graph by type
5
+ */
6
+ export declare const createGraph: <T>(type: EnumGraphType) => IGraph<T>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGraph = void 0;
4
+ var DirectedGraph_1 = require("../data-structures/Graph/DirectedGraph");
5
+ var UndirectedGraph_1 = require("../data-structures/Graph/UndirectedGraph");
6
+ var EnumGraphType_1 = require("../types/EnumGraphType");
7
+ /**
8
+ * Returns graph by type
9
+ */
10
+ exports.createGraph = function (type) {
11
+ var graph;
12
+ switch (type) {
13
+ case EnumGraphType_1.EnumGraphType.Directed:
14
+ graph = new DirectedGraph_1.default();
15
+ break;
16
+ case EnumGraphType_1.EnumGraphType.Undirected:
17
+ graph = new UndirectedGraph_1.default();
18
+ break;
19
+ default:
20
+ throw new Error("Invalid graph type");
21
+ }
22
+ return graph;
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9jcmVhdGVHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3RUFBbUU7QUFDbkUsNEVBQXVFO0FBQ3ZFLHdEQUF1RDtBQUV2RDs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUksSUFBbUI7SUFDaEQsSUFBSSxLQUFnQixDQUFDO0lBRXJCLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyw2QkFBYSxDQUFDLFFBQVE7WUFDekIsS0FBSyxHQUFHLElBQUksdUJBQWEsRUFBRSxDQUFDO1lBQzVCLE1BQU07UUFDUixLQUFLLDZCQUFhLENBQUMsVUFBVTtZQUMzQixLQUFLLEdBQUcsSUFBSSx5QkFBZSxFQUFFLENBQUM7WUFDOUIsTUFBTTtRQUNSO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ import IGraph from "../types/IGraph";
2
+ import { EnumGraphType } from "../types/EnumGraphType";
3
+ import { ArrayMatrix } from "../types/ArrayMatrix";
4
+ /**
5
+ * Creates a graph from N*N matrix that contains 1 in case of edge exists or 0 in case it does not
6
+ */
7
+ export declare const createGraphFromMatrix: <T>(matrix: ArrayMatrix, fieldsList: T[], type: EnumGraphType) => IGraph<T>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGraphFromMatrix = void 0;
4
+ var EnumGraphType_1 = require("../types/EnumGraphType");
5
+ var createGraph_1 = require("./createGraph");
6
+ var constants_1 = require("../constants");
7
+ /**
8
+ * Creates a graph from N*N matrix that contains 1 in case of edge exists or 0 in case it does not
9
+ */
10
+ exports.createGraphFromMatrix = function (matrix, fieldsList, type) {
11
+ var graph = createGraph_1.createGraph(type);
12
+ fieldsList.forEach(function (fieldName) {
13
+ graph.addVertex(fieldName);
14
+ });
15
+ matrix.forEach(function (row, rowIndex) {
16
+ row.forEach(function (col, colIndex) {
17
+ var rowColState = matrix[rowIndex][colIndex];
18
+ var colRowState = matrix[colIndex][rowIndex];
19
+ if (type === EnumGraphType_1.EnumGraphType.Undirected) {
20
+ if (rowColState === constants_1.EDGE_EXISTS_STATE &&
21
+ colRowState === constants_1.EDGE_EXISTS_STATE) {
22
+ graph.addEdge(fieldsList[rowIndex], fieldsList[colIndex]);
23
+ }
24
+ }
25
+ if (type === EnumGraphType_1.EnumGraphType.Directed) {
26
+ if (rowColState === constants_1.EDGE_EXISTS_STATE) {
27
+ graph.addEdge(fieldsList[rowIndex], fieldsList[colIndex]);
28
+ }
29
+ if (colRowState === constants_1.EDGE_EXISTS_STATE) {
30
+ graph.addEdge(fieldsList[colIndex], fieldsList[rowIndex]);
31
+ }
32
+ }
33
+ });
34
+ });
35
+ return graph;
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlR3JhcGhGcm9tTWF0cml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvY3JlYXRlR3JhcGhGcm9tTWF0cml4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUF1RDtBQUV2RCw2Q0FBNEM7QUFDNUMsMENBQWlEO0FBRWpEOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxVQUNuQyxNQUFtQixFQUNuQixVQUFvQixFQUNwQixJQUFtQjtJQUVuQixJQUFNLEtBQUssR0FBYyx5QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTNDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBQyxTQUFTO1FBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBa0IsRUFBRSxRQUFnQjtRQUNsRCxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBVyxFQUFFLFFBQWdCO1lBQ3hDLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFL0MsSUFBSSxJQUFJLEtBQUssNkJBQWEsQ0FBQyxVQUFVLEVBQUU7Z0JBQ3JDLElBQ0UsV0FBVyxLQUFLLDZCQUFpQjtvQkFDakMsV0FBVyxLQUFLLDZCQUFpQixFQUNqQztvQkFDQSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7YUFDRjtZQUVELElBQUksSUFBSSxLQUFLLDZCQUFhLENBQUMsUUFBUSxFQUFFO2dCQUNuQyxJQUFJLFdBQVcsS0FBSyw2QkFBaUIsRUFBRTtvQkFDckMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO2dCQUNELElBQUksV0FBVyxLQUFLLDZCQUFpQixFQUFFO29CQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ import { EnumLinkedListType } from "../types/EnumLinkedListType";
2
+ import ILinkedList from "../types/ILinkedList";
3
+ export declare const createLinkedList: <T>(type: EnumLinkedListType, capacity?: number | undefined) => ILinkedList<T>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLinkedList = void 0;
4
+ var EnumLinkedListType_1 = require("../types/EnumLinkedListType");
5
+ var DoubleLinkedList_1 = require("../data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList");
6
+ var SingleLinkedList_1 = require("../data-structures/LinkedList/SingleLinkedList/SingleLinkedList");
7
+ exports.createLinkedList = function (type, capacity) {
8
+ var linkedList;
9
+ switch (type) {
10
+ case EnumLinkedListType_1.EnumLinkedListType.DOUBLE:
11
+ linkedList = new DoubleLinkedList_1.default(capacity);
12
+ break;
13
+ case EnumLinkedListType_1.EnumLinkedListType.SINGLE:
14
+ linkedList = new SingleLinkedList_1.default(capacity);
15
+ break;
16
+ default:
17
+ throw new Error("Invalid list type");
18
+ }
19
+ return linkedList;
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2NyZWF0ZUxpbmtlZExpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQWlFO0FBQ2pFLG9HQUErRjtBQUMvRixvR0FBK0Y7QUFHbEYsUUFBQSxnQkFBZ0IsR0FBRyxVQUM5QixJQUF3QixFQUN4QixRQUFpQjtJQUVqQixJQUFJLFVBQTBCLENBQUM7SUFFL0IsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLHVDQUFrQixDQUFDLE1BQU07WUFDNUIsVUFBVSxHQUFHLElBQUksMEJBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsTUFBTTtRQUNSLEtBQUssdUNBQWtCLENBQUMsTUFBTTtZQUM1QixVQUFVLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxNQUFNO1FBQ1I7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDeEM7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUMifQ==
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ /**
2
+ * Write your code here
3
+ */