@raikuxq/alg-ds 1.1.6 → 1.1.7

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 (177) 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 +18 -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 +271 -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 +235 -0
  35. package/lib/data-structures/Graph/AbstractGraph.d.ts +84 -0
  36. package/lib/data-structures/Graph/AbstractGraph.js +143 -0
  37. package/lib/data-structures/Graph/DirectedGraph.d.ts +24 -0
  38. package/lib/data-structures/Graph/DirectedGraph.js +86 -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 +103 -0
  43. package/lib/data-structures/Graph/demo/generateRandomGraph.d.ts +4 -0
  44. package/lib/data-structures/Graph/demo/generateRandomGraph.js +66 -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 +30 -0
  59. package/lib/data-structures/Graph/searching/shortestPath.d.ts +9 -0
  60. package/lib/data-structures/Graph/searching/shortestPath.js +30 -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 +171 -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 +241 -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 +151 -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 +138 -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 +83 -0
  86. package/lib/data-structures/LoopedArray/LoopedArray.js +169 -0
  87. package/lib/data-structures/Queue/Queue.d.ts +50 -0
  88. package/lib/data-structures/Queue/Queue.js +85 -0
  89. package/lib/data-structures/Stack/Stack.d.ts +50 -0
  90. package/lib/data-structures/Stack/Stack.js +85 -0
  91. package/lib/exceptions/IllegalCapacityException.d.ts +4 -0
  92. package/lib/exceptions/IllegalCapacityException.js +28 -0
  93. package/lib/exceptions/IndexOutOfBoundsException.d.ts +4 -0
  94. package/lib/exceptions/IndexOutOfBoundsException.js +28 -0
  95. package/lib/exceptions/IsAlreadyExistsException.d.ts +4 -0
  96. package/lib/exceptions/IsAlreadyExistsException.js +28 -0
  97. package/lib/exceptions/IsEmptyException.d.ts +4 -0
  98. package/lib/exceptions/IsEmptyException.js +28 -0
  99. package/lib/exceptions/IsFullException.d.ts +4 -0
  100. package/lib/exceptions/IsFullException.js +28 -0
  101. package/lib/exceptions/IsNotFoundException.d.ts +4 -0
  102. package/lib/exceptions/IsNotFoundException.js +28 -0
  103. package/lib/exceptions/base/IllegalArgumentException.d.ts +3 -0
  104. package/lib/exceptions/base/IllegalArgumentException.js +27 -0
  105. package/lib/exceptions/base/IllegalStateException.d.ts +3 -0
  106. package/lib/exceptions/base/IllegalStateException.js +27 -0
  107. package/lib/exports/algorithms.d.ts +16 -0
  108. package/lib/exports/algorithms.js +36 -0
  109. package/lib/exports/constants.d.ts +2 -0
  110. package/lib/exports/constants.js +7 -0
  111. package/lib/exports/data-structures.d.ts +11 -0
  112. package/lib/exports/data-structures.js +24 -0
  113. package/lib/exports/helpers.d.ts +6 -0
  114. package/lib/exports/helpers.js +14 -0
  115. package/lib/exports/sorts.d.ts +6 -0
  116. package/lib/exports/sorts.js +14 -0
  117. package/lib/exports/utils.d.ts +3 -0
  118. package/lib/exports/utils.js +14 -0
  119. package/lib/exports.d.ts +52 -0
  120. package/lib/exports.js +103 -0
  121. package/lib/helpers/createBinaryTree.d.ts +6 -0
  122. package/lib/helpers/createBinaryTree.js +22 -0
  123. package/lib/helpers/createGraph.d.ts +6 -0
  124. package/lib/helpers/createGraph.js +24 -0
  125. package/lib/helpers/createGraphFromMatrix.d.ts +7 -0
  126. package/lib/helpers/createGraphFromMatrix.js +42 -0
  127. package/lib/helpers/createLinkedList.d.ts +3 -0
  128. package/lib/helpers/createLinkedList.js +21 -0
  129. package/lib/index.d.ts +3 -0
  130. package/lib/index.js +6 -0
  131. package/lib/types/ArrayMatrix.d.ts +1 -0
  132. package/lib/types/ArrayMatrix.js +3 -0
  133. package/lib/types/EnumBinarySearchTreeType.d.ts +4 -0
  134. package/lib/types/EnumBinarySearchTreeType.js +9 -0
  135. package/lib/types/EnumGraphType.d.ts +4 -0
  136. package/lib/types/EnumGraphType.js +9 -0
  137. package/lib/types/EnumLinkedListType.d.ts +4 -0
  138. package/lib/types/EnumLinkedListType.js +9 -0
  139. package/lib/types/EnumRandomGenerationFormat.d.ts +4 -0
  140. package/lib/types/EnumRandomGenerationFormat.js +9 -0
  141. package/lib/types/EnumTreeTraversalType.d.ts +5 -0
  142. package/lib/types/EnumTreeTraversalType.js +10 -0
  143. package/lib/types/FnCompareTwo.d.ts +1 -0
  144. package/lib/types/FnCompareTwo.js +3 -0
  145. package/lib/types/FnToMemoize.d.ts +1 -0
  146. package/lib/types/FnToMemoize.js +3 -0
  147. package/lib/types/IArrayFacade.d.ts +4 -0
  148. package/lib/types/IArrayFacade.js +3 -0
  149. package/lib/types/IBiDirectIterable.d.ts +5 -0
  150. package/lib/types/IBiDirectIterable.js +3 -0
  151. package/lib/types/IBiDirectIterator.d.ts +11 -0
  152. package/lib/types/IBiDirectIterator.js +3 -0
  153. package/lib/types/IBinaryTree.d.ts +12 -0
  154. package/lib/types/IBinaryTree.js +3 -0
  155. package/lib/types/IConvertableToArray.d.ts +4 -0
  156. package/lib/types/IConvertableToArray.js +3 -0
  157. package/lib/types/IGraph.d.ts +14 -0
  158. package/lib/types/IGraph.js +3 -0
  159. package/lib/types/IGraphIterationStrategy.d.ts +5 -0
  160. package/lib/types/IGraphIterationStrategy.js +3 -0
  161. package/lib/types/IGraphIterator.d.ts +11 -0
  162. package/lib/types/IGraphIterator.js +3 -0
  163. package/lib/types/IIterable.d.ts +4 -0
  164. package/lib/types/IIterable.js +3 -0
  165. package/lib/types/IIterator.d.ts +14 -0
  166. package/lib/types/IIterator.js +3 -0
  167. package/lib/types/IKeyValueStorage.d.ts +8 -0
  168. package/lib/types/IKeyValueStorage.js +3 -0
  169. package/lib/types/ILinearStorage.d.ts +11 -0
  170. package/lib/types/ILinearStorage.js +3 -0
  171. package/lib/types/ILinearStorageRA.d.ts +13 -0
  172. package/lib/types/ILinearStorageRA.js +3 -0
  173. package/lib/types/ILinkedList.d.ts +4 -0
  174. package/lib/types/ILinkedList.js +3 -0
  175. package/lib/utils.d.ts +33 -0
  176. package/lib/utils.js +108 -0
  177. package/package.json +1 -1
@@ -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,52 @@
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 IsNotFoundException from "./exceptions/IsNotFoundException";
33
+ import IsAlreadyExistsException from "./exceptions/IsAlreadyExistsException";
34
+ import IllegalCapacityException from "./exceptions/IllegalCapacityException";
35
+ import IllegalArgumentException from "./exceptions/base/IllegalArgumentException";
36
+ import IllegalStateException from "./exceptions/base/IllegalStateException";
37
+ import IndexOutOfBoundsException from "./exceptions/IndexOutOfBoundsException";
38
+ import IsEmptyException from "./exceptions/IsEmptyException";
39
+ import { bubbleSort } from "./algorithms/sorts/bubble-sort";
40
+ import { selectSort } from "./algorithms/sorts/select-sort";
41
+ import { mergeSort } from "./algorithms/sorts/merge-sort";
42
+ import { insertionSort } from "./algorithms/sorts/insertion-sort";
43
+ import { quickSort } from "./algorithms/sorts/quick-sort";
44
+ import { memoize } from "./algorithms/memoize";
45
+ import { getMinIndex, getMinIndexFromIndex, perf, randomizeNumberInRange, roundNumber, swapArrayItems, perfAsync } from "./utils";
46
+ export { perf, getMinIndex, getMinIndexFromIndex, memoize, perfAsync, roundNumber, randomizeNumberInRange, swapArrayItems, };
47
+ export { bubbleSort, insertionSort, mergeSort, selectSort, quickSort };
48
+ export { Stack, Queue, SingleLinkedList, DoubleLinkedList, RandBinarySearchTree, BinarySearchTree, DirectedGraph, UndirectedGraph, LoopedArray, HashTable, };
49
+ export { EDGE_NOT_EXISTS_STATE, EDGE_EXISTS_STATE };
50
+ export { createGraph, createGraphFromMatrix, createBinaryTree, createLinkedList, generateRandomGraph, };
51
+ export { binarySearch, factorial, memoizedFactorial, memoizedFibonacci, fibonacci, transposeMatrix, GraphIteratorDFS, presenterAdjacencyLists, presenterAdjacencyMatrix, hasPath, shortestPath, DijkstraIterationStrategy, DFSIterationStrategy, BFSIterationStrategy, GraphIteratorBFS, GraphIteratorDijkstra, transposeDirectedGraph, };
52
+ export { IsEmptyException, IsNotFoundException, IsAlreadyExistsException, IllegalCapacityException, IllegalArgumentException, IllegalStateException, IndexOutOfBoundsException, };
package/lib/exports.js ADDED
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexOutOfBoundsException = exports.IllegalStateException = exports.IllegalArgumentException = exports.IllegalCapacityException = exports.IsAlreadyExistsException = exports.IsNotFoundException = exports.IsEmptyException = 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 IsNotFoundException_1 = require("./exceptions/IsNotFoundException");
70
+ exports.IsNotFoundException = IsNotFoundException_1.default;
71
+ var IsAlreadyExistsException_1 = require("./exceptions/IsAlreadyExistsException");
72
+ exports.IsAlreadyExistsException = IsAlreadyExistsException_1.default;
73
+ var IllegalCapacityException_1 = require("./exceptions/IllegalCapacityException");
74
+ exports.IllegalCapacityException = IllegalCapacityException_1.default;
75
+ var IllegalArgumentException_1 = require("./exceptions/base/IllegalArgumentException");
76
+ exports.IllegalArgumentException = IllegalArgumentException_1.default;
77
+ var IllegalStateException_1 = require("./exceptions/base/IllegalStateException");
78
+ exports.IllegalStateException = IllegalStateException_1.default;
79
+ var IndexOutOfBoundsException_1 = require("./exceptions/IndexOutOfBoundsException");
80
+ exports.IndexOutOfBoundsException = IndexOutOfBoundsException_1.default;
81
+ var IsEmptyException_1 = require("./exceptions/IsEmptyException");
82
+ exports.IsEmptyException = IsEmptyException_1.default;
83
+ var bubble_sort_1 = require("./algorithms/sorts/bubble-sort");
84
+ Object.defineProperty(exports, "bubbleSort", { enumerable: true, get: function () { return bubble_sort_1.bubbleSort; } });
85
+ var select_sort_1 = require("./algorithms/sorts/select-sort");
86
+ Object.defineProperty(exports, "selectSort", { enumerable: true, get: function () { return select_sort_1.selectSort; } });
87
+ var merge_sort_1 = require("./algorithms/sorts/merge-sort");
88
+ Object.defineProperty(exports, "mergeSort", { enumerable: true, get: function () { return merge_sort_1.mergeSort; } });
89
+ var insertion_sort_1 = require("./algorithms/sorts/insertion-sort");
90
+ Object.defineProperty(exports, "insertionSort", { enumerable: true, get: function () { return insertion_sort_1.insertionSort; } });
91
+ var quick_sort_1 = require("./algorithms/sorts/quick-sort");
92
+ Object.defineProperty(exports, "quickSort", { enumerable: true, get: function () { return quick_sort_1.quickSort; } });
93
+ var memoize_1 = require("./algorithms/memoize");
94
+ Object.defineProperty(exports, "memoize", { enumerable: true, get: function () { return memoize_1.memoize; } });
95
+ var utils_1 = require("./utils");
96
+ Object.defineProperty(exports, "getMinIndex", { enumerable: true, get: function () { return utils_1.getMinIndex; } });
97
+ Object.defineProperty(exports, "getMinIndexFromIndex", { enumerable: true, get: function () { return utils_1.getMinIndexFromIndex; } });
98
+ Object.defineProperty(exports, "perf", { enumerable: true, get: function () { return utils_1.perf; } });
99
+ Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get: function () { return utils_1.randomizeNumberInRange; } });
100
+ Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
101
+ Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
102
+ Object.defineProperty(exports, "perfAsync", { enumerable: true, get: function () { return utils_1.perfAsync; } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFzRTtBQTRGcEUsMEZBNUZPLHFCQUFTLE9BNEZQO0FBQ1Qsa0dBN0ZrQiw2QkFBaUIsT0E2RmxCO0FBNUZuQixvREFBc0U7QUE4RnBFLDBGQTlGTyxxQkFBUyxPQThGUDtBQURULGtHQTdGa0IsNkJBQWlCLE9BNkZsQjtBQTVGbkIsNERBQTBEO0FBeUZ4RCw2RkF6Rk8sNEJBQVksT0F5RlA7QUF4RmQsa0VBQWdFO0FBNkY5RCxnR0E3Rk8sa0NBQWUsT0E2RlA7QUE1RmpCLHFHQUFvRztBQXVHbEcsdUdBdkdPLCtDQUFzQixPQXVHUDtBQXRHeEIsOEZBQXlGO0FBbUd2RiwrQkFuR0ssOEJBQW9CLENBbUdMO0FBbEd0Qiw4RkFBeUY7QUFpR3ZGLCtCQWpHSyw4QkFBb0IsQ0FpR0w7QUFoR3RCLHdHQUFtRztBQStGakcsb0NBL0ZLLG1DQUF5QixDQStGTDtBQTlGM0Isc0ZBQWlGO0FBaUcvRSwyQkFqR0ssMEJBQWdCLENBaUdMO0FBaEdsQixzRkFBaUY7QUF3Ri9FLDJCQXhGSywwQkFBZ0IsQ0F3Rkw7QUF2RmxCLGdHQUEyRjtBQWdHekYsZ0NBaEdLLCtCQUFxQixDQWdHTDtBQS9GdkIscUVBQW9FO0FBeUZsRSx3RkF6Rk8saUJBQU8sT0F5RlA7QUF4RlQsK0VBQThFO0FBeUY1RSw2RkF6Rk8sMkJBQVksT0F5RlA7QUF4RmQsdUdBQXNHO0FBc0ZwRyx5R0F0Rk8sbURBQXdCLE9Bc0ZQO0FBckYxQixxR0FBb0c7QUFvRmxHLHdHQXBGTyxpREFBdUIsT0FvRlA7QUFuRnpCLHdGQUF1RjtBQXdFckYsb0dBeEVPLHlDQUFtQixPQXdFUDtBQXZFckIsK0RBQThEO0FBc0U1RCxpR0F0RU8sbUNBQWdCLE9Bc0VQO0FBckVsQiwrREFBOEQ7QUFvRTVELGlHQXBFTyxtQ0FBZ0IsT0FvRVA7QUFuRWxCLHFEQUFvRDtBQWlFbEQsNEZBakVPLHlCQUFXLE9BaUVQO0FBaEViLHlFQUF3RTtBQWlFdEUsc0dBakVPLDZDQUFxQixPQWlFUDtBQWhFdkIseUNBQXVFO0FBNER2QyxrR0E1RHZCLDZCQUFpQixPQTREdUI7QUFBeEMsc0dBNURtQixpQ0FBcUIsT0E0RG5CO0FBM0Q5Qix1REFBa0Q7QUFnRGhELGdCQWhESyxlQUFLLENBZ0RMO0FBL0NQLHVEQUFrRDtBQThDaEQsZ0JBOUNLLGVBQUssQ0E4Q0w7QUE3Q1AsMkVBQXNFO0FBb0RwRSwwQkFwREsseUJBQWUsQ0FvREw7QUFuRGpCLHVFQUFrRTtBQWtEaEUsd0JBbERLLHVCQUFhLENBa0RMO0FBakRmLG1HQUE4RjtBQWdENUYsMkJBaERLLDBCQUFnQixDQWdETDtBQS9DbEIsK0dBQTBHO0FBOEN4RywrQkE5Q0ssOEJBQW9CLENBOENMO0FBN0N0QixtR0FBOEY7QUE0QzVGLDJCQTVDSywwQkFBZ0IsQ0E0Q0w7QUEzQ2xCLG1HQUE4RjtBQTBDNUYsMkJBMUNLLDBCQUFnQixDQTBDTDtBQXpDbEIseUVBQW9FO0FBK0NsRSxzQkEvQ0sscUJBQVcsQ0ErQ0w7QUE5Q2IsbUVBQThEO0FBK0M1RCxvQkEvQ0ssbUJBQVMsQ0ErQ0w7QUE5Q1gsd0VBQW1FO0FBaUZqRSw4QkFqRkssNkJBQW1CLENBaUZMO0FBaEZyQixrRkFBNkU7QUFpRjNFLG1DQWpGSyxrQ0FBd0IsQ0FpRkw7QUFoRjFCLGtGQUE2RTtBQWlGM0UsbUNBakZLLGtDQUF3QixDQWlGTDtBQWhGMUIsdUZBQWtGO0FBaUZoRixtQ0FqRkssa0NBQXdCLENBaUZMO0FBaEYxQixpRkFBNEU7QUFpRjFFLGdDQWpGSywrQkFBcUIsQ0FpRkw7QUFoRnZCLG9GQUErRTtBQWlGN0Usb0NBakZLLG1DQUF5QixDQWlGTDtBQWhGM0Isa0VBQTZEO0FBMEUzRCwyQkExRUssMEJBQWdCLENBMEVMO0FBekVsQiw4REFBNEQ7QUEyQm5ELDJGQTNCQSx3QkFBVSxPQTJCQTtBQTFCbkIsOERBQTREO0FBMEJiLDJGQTFCdEMsd0JBQVUsT0EwQnNDO0FBekJ6RCw0REFBMEQ7QUF5QnRCLDBGQXpCM0Isc0JBQVMsT0F5QjJCO0FBeEI3QyxvRUFBa0U7QUF3QjdDLDhGQXhCWiw4QkFBYSxPQXdCWTtBQXZCbEMsNERBQTBEO0FBdUJDLDBGQXZCbEQsc0JBQVMsT0F1QmtEO0FBdEJwRSxnREFBK0M7QUFlN0Msd0ZBZk8saUJBQU8sT0FlUDtBQWRULGlDQVFpQjtBQUlmLDRGQVhBLG1CQUFXLE9BV0E7QUFDWCxxR0FYQSw0QkFBb0IsT0FXQTtBQUZwQixxRkFSQSxZQUFJLE9BUUE7QUFNSix1R0FiQSw4QkFBc0IsT0FhQTtBQUR0Qiw0RkFYQSxtQkFBVyxPQVdBO0FBRVgsK0ZBWkEsc0JBQWMsT0FZQTtBQUhkLDBGQVJBLGlCQUFTLE9BUUEifQ==
@@ -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,42 @@
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
+ var IllegalArgumentException_1 = require("../exceptions/base/IllegalArgumentException");
8
+ var utils_1 = require("../utils");
9
+ /**
10
+ * Creates a graph from N*N matrix that contains 1 in case of edge exists or 0 in case it does not
11
+ */
12
+ exports.createGraphFromMatrix = function (matrix, fieldsList, type) {
13
+ if (!utils_1.checkIsArrayMatrix(matrix)) {
14
+ throw new IllegalArgumentException_1.default("Given array is not a matrix");
15
+ }
16
+ var graph = createGraph_1.createGraph(type);
17
+ fieldsList.forEach(function (fieldName) {
18
+ graph.addVertex(fieldName);
19
+ });
20
+ matrix.forEach(function (row, rowIndex) {
21
+ row.forEach(function (col, colIndex) {
22
+ var rowColState = matrix[rowIndex][colIndex];
23
+ var colRowState = matrix[colIndex][rowIndex];
24
+ if (type === EnumGraphType_1.EnumGraphType.Undirected) {
25
+ if (rowColState === constants_1.EDGE_EXISTS_STATE &&
26
+ colRowState === constants_1.EDGE_EXISTS_STATE) {
27
+ graph.addEdge(fieldsList[rowIndex], fieldsList[colIndex]);
28
+ }
29
+ }
30
+ if (type === EnumGraphType_1.EnumGraphType.Directed) {
31
+ if (rowColState === constants_1.EDGE_EXISTS_STATE) {
32
+ graph.addEdge(fieldsList[rowIndex], fieldsList[colIndex]);
33
+ }
34
+ if (colRowState === constants_1.EDGE_EXISTS_STATE) {
35
+ graph.addEdge(fieldsList[colIndex], fieldsList[rowIndex]);
36
+ }
37
+ }
38
+ });
39
+ });
40
+ return graph;
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlR3JhcGhGcm9tTWF0cml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvY3JlYXRlR3JhcGhGcm9tTWF0cml4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUF1RDtBQUV2RCw2Q0FBNEM7QUFDNUMsMENBQWlEO0FBQ2pELHdGQUFtRjtBQUNuRixrQ0FBOEM7QUFFOUM7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLFVBQ25DLE1BQW1CLEVBQ25CLFVBQW9CLEVBQ3BCLElBQW1CO0lBRW5CLElBQUksQ0FBQywwQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMvQixNQUFNLElBQUksa0NBQXdCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUNuRTtJQUVELElBQU0sS0FBSyxHQUFjLHlCQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLFNBQVM7UUFDM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFrQixFQUFFLFFBQWdCO1FBQ2xELEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFXLEVBQUUsUUFBZ0I7WUFDeEMsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUUvQyxJQUFJLElBQUksS0FBSyw2QkFBYSxDQUFDLFVBQVUsRUFBRTtnQkFDckMsSUFDRSxXQUFXLEtBQUssNkJBQWlCO29CQUNqQyxXQUFXLEtBQUssNkJBQWlCLEVBQ2pDO29CQUNBLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDthQUNGO1lBRUQsSUFBSSxJQUFJLEtBQUssNkJBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25DLElBQUksV0FBVyxLQUFLLDZCQUFpQixFQUFFO29CQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7Z0JBQ0QsSUFBSSxXQUFXLEtBQUssNkJBQWlCLEVBQUU7b0JBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIn0=
@@ -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
+ */
package/lib/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Write your code here
4
+ */
5
+ console.log("Hello world");
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHO0FBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ export declare type ArrayMatrix = Array<Array<number>>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXlNYXRyaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQXJyYXlNYXRyaXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,4 @@
1
+ export declare enum EnumBinarySearchTreeType {
2
+ BST = "Binary Search Tree",
3
+ RANDOMIZED_BST = "Randomized Binary Search Tree"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumBinarySearchTreeType = void 0;
4
+ var EnumBinarySearchTreeType;
5
+ (function (EnumBinarySearchTreeType) {
6
+ EnumBinarySearchTreeType["BST"] = "Binary Search Tree";
7
+ EnumBinarySearchTreeType["RANDOMIZED_BST"] = "Randomized Binary Search Tree";
8
+ })(EnumBinarySearchTreeType = exports.EnumBinarySearchTreeType || (exports.EnumBinarySearchTreeType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUJpbmFyeVNlYXJjaFRyZWVUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0VudW1CaW5hcnlTZWFyY2hUcmVlVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHdCQUdYO0FBSEQsV0FBWSx3QkFBd0I7SUFDbEMsc0RBQTBCLENBQUE7SUFDMUIsNEVBQWdELENBQUE7QUFDbEQsQ0FBQyxFQUhXLHdCQUF3QixHQUF4QixnQ0FBd0IsS0FBeEIsZ0NBQXdCLFFBR25DIn0=
@@ -0,0 +1,4 @@
1
+ export declare enum EnumGraphType {
2
+ Directed = "Directed",
3
+ Undirected = "Undirected"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumGraphType = void 0;
4
+ var EnumGraphType;
5
+ (function (EnumGraphType) {
6
+ EnumGraphType["Directed"] = "Directed";
7
+ EnumGraphType["Undirected"] = "Undirected";
8
+ })(EnumGraphType = exports.EnumGraphType || (exports.EnumGraphType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUdyYXBoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9FbnVtR3JhcGhUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFHeEIifQ==
@@ -0,0 +1,4 @@
1
+ export declare enum EnumLinkedListType {
2
+ DOUBLE = "Double linked list",
3
+ SINGLE = "Single linked list"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumLinkedListType = void 0;
4
+ var EnumLinkedListType;
5
+ (function (EnumLinkedListType) {
6
+ EnumLinkedListType["DOUBLE"] = "Double linked list";
7
+ EnumLinkedListType["SINGLE"] = "Single linked list";
8
+ })(EnumLinkedListType = exports.EnumLinkedListType || (exports.EnumLinkedListType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUxpbmtlZExpc3RUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0VudW1MaW5rZWRMaXN0VHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsbURBQTZCLENBQUE7SUFDN0IsbURBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBRzdCIn0=
@@ -0,0 +1,4 @@
1
+ export declare enum EnumRandomGenerationFormat {
2
+ Numbers = "NUMBERS",
3
+ Hash = "HASH"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumRandomGenerationFormat = void 0;
4
+ var EnumRandomGenerationFormat;
5
+ (function (EnumRandomGenerationFormat) {
6
+ EnumRandomGenerationFormat["Numbers"] = "NUMBERS";
7
+ EnumRandomGenerationFormat["Hash"] = "HASH";
8
+ })(EnumRandomGenerationFormat = exports.EnumRandomGenerationFormat || (exports.EnumRandomGenerationFormat = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVJhbmRvbUdlbmVyYXRpb25Gb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvRW51bVJhbmRvbUdlbmVyYXRpb25Gb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSwwQkFHWDtBQUhELFdBQVksMEJBQTBCO0lBQ3BDLGlEQUFtQixDQUFBO0lBQ25CLDJDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsMEJBQTBCLEdBQTFCLGtDQUEwQixLQUExQixrQ0FBMEIsUUFHckMifQ==
@@ -0,0 +1,5 @@
1
+ export declare enum EnumTreeTraversalType {
2
+ InOrder = "InOrder",
3
+ PreOrder = "PreOrder",
4
+ PostOrder = "PostOrder"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumTreeTraversalType = void 0;
4
+ var EnumTreeTraversalType;
5
+ (function (EnumTreeTraversalType) {
6
+ EnumTreeTraversalType["InOrder"] = "InOrder";
7
+ EnumTreeTraversalType["PreOrder"] = "PreOrder";
8
+ EnumTreeTraversalType["PostOrder"] = "PostOrder";
9
+ })(EnumTreeTraversalType = exports.EnumTreeTraversalType || (exports.EnumTreeTraversalType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVRyZWVUcmF2ZXJzYWxUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0VudW1UcmVlVHJhdmVyc2FsVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHFCQUlYO0FBSkQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsOENBQXFCLENBQUE7SUFDckIsZ0RBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBSWhDIn0=
@@ -0,0 +1 @@
1
+ export declare type FnCompareTwo<T> = (firstItem: T, secondItem: T) => boolean;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm5Db21wYXJlVHdvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0ZuQ29tcGFyZVR3by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ export declare type FnToMemoize<Key, Value> = (...args: Array<Key>) => Value;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm5Ub01lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvRm5Ub01lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,4 @@
1
+ import ILinearStorageRA from "./ILinearStorageRA";
2
+ import IConvertableToArray from "./IConvertableToArray";
3
+ export default interface IArrayFacade<T> extends ILinearStorageRA<T>, IConvertableToArray<T> {
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFycmF5RmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0lBcnJheUZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,5 @@
1
+ import IBiDirectIterator from "./IBiDirectIterator";
2
+ import IIterable from "./IIterable";
3
+ export default interface IBiDirectIterable<T> extends IIterable<T> {
4
+ iterator(fromIndex?: number): IBiDirectIterator<T>;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJpRGlyZWN0SXRlcmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvSUJpRGlyZWN0SXRlcmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,11 @@
1
+ import IIterator from "./IIterator";
2
+ export default interface IBiDirectIterator<T> extends IIterator<T> {
3
+ /**
4
+ * Will do one iteration back and returns prev item value
5
+ */
6
+ prev(): T;
7
+ /**
8
+ * Check if next element exists
9
+ */
10
+ hasPrev(): boolean;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJpRGlyZWN0SXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvSUJpRGlyZWN0SXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,12 @@
1
+ import { EnumTreeTraversalType } from "./EnumTreeTraversalType";
2
+ export default interface IBinaryTree<T> {
3
+ has(value: T): boolean;
4
+ insert(value: T): void;
5
+ delete(value: T): void;
6
+ subtree(value: T): IBinaryTree<T>;
7
+ max(): T;
8
+ min(): T;
9
+ length(): number;
10
+ height(): number;
11
+ traverse(type: EnumTreeTraversalType): Array<T>;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJpbmFyeVRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvSUJpbmFyeVRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,4 @@
1
+ export default interface IConvertableToArray<T> {
2
+ pushFromArray(elements: Array<T>): void;
3
+ getAsArray(): Array<T>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbnZlcnRhYmxlVG9BcnJheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9JQ29udmVydGFibGVUb0FycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,14 @@
1
+ export default interface IGraph<T> {
2
+ weight(): number;
3
+ vertices(): Array<T>;
4
+ verticesCount(): number;
5
+ edgesCount(): number;
6
+ addVertex(data: T): this;
7
+ removeVertex(data: T): this;
8
+ hasVertex(data: T): boolean;
9
+ getVertexNeighbors(data: T): Array<T>;
10
+ addEdge(from: T, to: T, weight?: number): this;
11
+ removeEdge(from: T, to: T): this;
12
+ hasEdge(from: T, to: T): boolean;
13
+ getEdgeWeight(from: T, to: T): number;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0lHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=