@raikuxq/alg-ds 1.1.7 → 1.2.0

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 (205) hide show
  1. package/README.md +67 -78
  2. package/lib/{algorithms → app/algorithms}/binary-search.d.ts +0 -0
  3. package/lib/app/algorithms/binary-search.js +27 -0
  4. package/lib/{algorithms → app/algorithms}/factorial.d.ts +0 -0
  5. package/lib/{algorithms → app/algorithms}/factorial.js +1 -1
  6. package/lib/{algorithms → app/algorithms}/fibonacci.d.ts +0 -0
  7. package/lib/app/algorithms/fibonacci.js +17 -0
  8. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/AbstractGraphIterator.d.ts +0 -0
  9. package/lib/app/algorithms/graph/iterator/AbstractGraphIterator.js +83 -0
  10. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorBFS.d.ts +0 -0
  11. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorBFS.js +2 -2
  12. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDFS.d.ts +0 -0
  13. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDFS.js +2 -2
  14. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDijkstra.d.ts +0 -0
  15. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDijkstra.js +3 -5
  16. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/BFSIterationStrategy.d.ts +0 -0
  17. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/BFSIterationStrategy.js +1 -1
  18. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DFSIterationStrategy.d.ts +0 -0
  19. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DFSIterationStrategy.js +1 -1
  20. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DijkstraIterationStrategy.d.ts +0 -0
  21. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DijkstraIterationStrategy.js +1 -1
  22. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyLists.d.ts +0 -0
  23. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyLists.js +1 -1
  24. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyMatrix.d.ts +2 -2
  25. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyMatrix.js +1 -1
  26. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/hasPath.d.ts +0 -0
  27. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/hasPath.js +1 -1
  28. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/shortestPath.d.ts +0 -0
  29. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/shortestPath.js +1 -1
  30. package/lib/{data-structures/Graph → app/algorithms/graph}/transposing/transposeDirectedGraph.d.ts +0 -0
  31. package/lib/{data-structures/Graph → app/algorithms/graph}/transposing/transposeDirectedGraph.js +3 -3
  32. package/lib/{algorithms → app/algorithms}/memoize.d.ts +0 -0
  33. package/lib/{algorithms → app/algorithms}/memoize.js +1 -1
  34. package/lib/{algorithms → app/algorithms}/sorts/bubble-sort.d.ts +0 -0
  35. package/lib/{algorithms → app/algorithms}/sorts/bubble-sort.js +1 -1
  36. package/lib/{algorithms → app/algorithms}/sorts/insertion-sort.d.ts +0 -0
  37. package/lib/app/algorithms/sorts/insertion-sort.js +25 -0
  38. package/lib/{algorithms → app/algorithms}/sorts/merge-sort.d.ts +0 -0
  39. package/lib/app/algorithms/sorts/merge-sort.js +61 -0
  40. package/lib/{algorithms → app/algorithms}/sorts/quick-sort.d.ts +0 -0
  41. package/lib/{algorithms → app/algorithms}/sorts/quick-sort.js +1 -1
  42. package/lib/{algorithms → app/algorithms}/sorts/select-sort.d.ts +0 -0
  43. package/lib/{algorithms → app/algorithms}/sorts/select-sort.js +1 -1
  44. package/lib/app/algorithms/transpose-matrix.d.ts +5 -0
  45. package/lib/{algorithms → app/algorithms}/transpose-matrix.js +1 -1
  46. package/lib/{constants.d.ts → app/constants.d.ts} +0 -0
  47. package/lib/{constants.js → app/constants.js} +1 -1
  48. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryNode.d.ts +0 -0
  49. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryNode.js +1 -1
  50. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.d.ts +0 -0
  51. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.js +1 -1
  52. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchNode.d.ts +0 -0
  53. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchNode.js +1 -1
  54. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchTree.d.ts +0 -0
  55. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchTree.js +3 -3
  56. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchNode.d.ts +0 -0
  57. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchNode.js +1 -1
  58. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.d.ts +0 -0
  59. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.js +1 -1
  60. package/lib/app/data-structures/BinaryTree/_helpers/createBinaryTree.d.ts +6 -0
  61. package/lib/app/data-structures/BinaryTree/_helpers/createBinaryTree.js +22 -0
  62. package/lib/{data-structures → app/data-structures}/Graph/AbstractGraph.d.ts +0 -0
  63. package/lib/{data-structures → app/data-structures}/Graph/AbstractGraph.js +1 -1
  64. package/lib/{data-structures → app/data-structures}/Graph/DirectedGraph.d.ts +0 -0
  65. package/lib/{data-structures → app/data-structures}/Graph/DirectedGraph.js +1 -1
  66. package/lib/{data-structures → app/data-structures}/Graph/GraphEdge.d.ts +0 -0
  67. package/lib/{data-structures → app/data-structures}/Graph/GraphEdge.js +1 -1
  68. package/lib/{data-structures → app/data-structures}/Graph/UndirectedGraph.d.ts +0 -0
  69. package/lib/{data-structures → app/data-structures}/Graph/UndirectedGraph.js +1 -1
  70. package/lib/app/data-structures/Graph/_helpers/createGraph.d.ts +6 -0
  71. package/lib/app/data-structures/Graph/_helpers/createGraph.js +22 -0
  72. package/lib/app/data-structures/Graph/_helpers/createGraphFromMatrix.d.ts +7 -0
  73. package/lib/app/data-structures/Graph/_helpers/createGraphFromMatrix.js +42 -0
  74. package/lib/{data-structures/Graph/demo → app/data-structures/Graph/_helpers}/generateRandomGraph.d.ts +0 -0
  75. package/lib/app/data-structures/Graph/_helpers/generateRandomGraph.js +67 -0
  76. package/lib/{data-structures → app/data-structures}/HashTable/HashTable.d.ts +0 -0
  77. package/lib/app/data-structures/HashTable/HashTable.js +171 -0
  78. package/lib/{data-structures → app/data-structures}/HashTable/HashTableNode.d.ts +0 -0
  79. package/lib/{data-structures → app/data-structures}/HashTable/HashTableNode.js +1 -1
  80. package/lib/{data-structures → app/data-structures}/LinkedList/AbstractLinkedList/AbstractLinkedList.d.ts +0 -0
  81. package/lib/app/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +241 -0
  82. package/lib/{data-structures → app/data-structures}/LinkedList/AbstractLinkedList/AbstractLinkedNode.d.ts +0 -0
  83. package/lib/{data-structures → app/data-structures}/LinkedList/AbstractLinkedList/AbstractLinkedNode.js +1 -1
  84. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedList.d.ts +0 -0
  85. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedList.js +1 -1
  86. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedNode.d.ts +0 -0
  87. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedNode.js +1 -1
  88. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedList.d.ts +0 -0
  89. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedList.js +1 -1
  90. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedNode.d.ts +0 -0
  91. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedNode.js +1 -1
  92. package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.d.ts +3 -0
  93. package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.js +19 -0
  94. package/lib/{data-structures → app/data-structures}/LoopedArray/LoopedArray.d.ts +0 -0
  95. package/lib/app/data-structures/LoopedArray/LoopedArray.js +169 -0
  96. package/lib/{data-structures → app/data-structures}/Queue/Queue.d.ts +0 -0
  97. package/lib/app/data-structures/Queue/Queue.js +85 -0
  98. package/lib/{data-structures → app/data-structures}/Stack/Stack.d.ts +0 -0
  99. package/lib/app/data-structures/Stack/Stack.js +85 -0
  100. package/lib/{exceptions/IsEmptyException.d.ts → app/exceptions/CollectionIsEmptyException.d.ts} +1 -1
  101. package/lib/{exceptions/IsFullException.js → app/exceptions/CollectionIsEmptyException.js} +7 -7
  102. package/lib/{exceptions/IsFullException.d.ts → app/exceptions/CollectionIsFullException.d.ts} +1 -1
  103. package/lib/{exceptions/IsEmptyException.js → app/exceptions/CollectionIsFullException.js} +7 -7
  104. package/lib/{exceptions → app/exceptions}/IndexOutOfBoundsException.d.ts +0 -0
  105. package/lib/{exceptions → app/exceptions}/IndexOutOfBoundsException.js +1 -1
  106. package/lib/{exceptions → app/exceptions}/IsAlreadyExistsException.d.ts +0 -0
  107. package/lib/{exceptions → app/exceptions}/IsAlreadyExistsException.js +1 -1
  108. package/lib/{exceptions → app/exceptions}/IsNotFoundException.d.ts +0 -0
  109. package/lib/{exceptions → app/exceptions}/IsNotFoundException.js +1 -1
  110. package/lib/{exceptions/IllegalCapacityException.d.ts → app/exceptions/ValueOutOfRangeException.d.ts} +1 -1
  111. package/lib/{exceptions/IllegalCapacityException.js → app/exceptions/ValueOutOfRangeException.js} +7 -7
  112. package/lib/{exceptions → app/exceptions}/base/IllegalArgumentException.d.ts +0 -0
  113. package/lib/{exceptions → app/exceptions}/base/IllegalArgumentException.js +1 -1
  114. package/lib/{exceptions → app/exceptions}/base/IllegalStateException.d.ts +0 -0
  115. package/lib/{exceptions → app/exceptions}/base/IllegalStateException.js +1 -1
  116. package/lib/{types → app/types}/EnumBinarySearchTreeType.d.ts +0 -0
  117. package/lib/{types → app/types}/EnumBinarySearchTreeType.js +1 -1
  118. package/lib/app/types/EnumGraphTraversalType.d.ts +5 -0
  119. package/lib/app/types/EnumGraphTraversalType.js +10 -0
  120. package/lib/{types → app/types}/EnumGraphType.d.ts +0 -0
  121. package/lib/{types → app/types}/EnumGraphType.js +1 -1
  122. package/lib/{types → app/types}/EnumLinkedListType.d.ts +0 -0
  123. package/lib/{types → app/types}/EnumLinkedListType.js +1 -1
  124. package/lib/{types → app/types}/EnumRandomGenerationFormat.d.ts +0 -0
  125. package/lib/{types → app/types}/EnumRandomGenerationFormat.js +1 -1
  126. package/lib/app/types/EnumSortType.d.ts +7 -0
  127. package/lib/app/types/EnumSortType.js +12 -0
  128. package/lib/{types → app/types}/EnumTreeTraversalType.d.ts +0 -0
  129. package/lib/{types → app/types}/EnumTreeTraversalType.js +1 -1
  130. package/lib/{types → app/types}/FnCompareTwo.d.ts +0 -0
  131. package/lib/{types → app/types}/FnCompareTwo.js +1 -1
  132. package/lib/{types → app/types}/FnToMemoize.d.ts +0 -0
  133. package/lib/{types → app/types}/FnToMemoize.js +1 -1
  134. package/lib/{types → app/types}/IArrayFacade.d.ts +0 -0
  135. package/lib/{types → app/types}/IArrayFacade.js +1 -1
  136. package/lib/{types → app/types}/IBiDirectIterable.d.ts +0 -0
  137. package/lib/{types → app/types}/IBiDirectIterable.js +1 -1
  138. package/lib/{types → app/types}/IBiDirectIterator.d.ts +0 -0
  139. package/lib/{types → app/types}/IBiDirectIterator.js +1 -1
  140. package/lib/{types → app/types}/IBinaryTree.d.ts +0 -0
  141. package/lib/{types → app/types}/IBinaryTree.js +1 -1
  142. package/lib/{types → app/types}/IConvertableToArray.d.ts +0 -0
  143. package/lib/{types → app/types}/IConvertableToArray.js +1 -1
  144. package/lib/{types → app/types}/IGraph.d.ts +0 -0
  145. package/lib/{types → app/types}/IGraph.js +1 -1
  146. package/lib/{types → app/types}/IGraphIterationStrategy.d.ts +0 -0
  147. package/lib/{types → app/types}/IGraphIterationStrategy.js +1 -1
  148. package/lib/{types → app/types}/IGraphIterator.d.ts +0 -0
  149. package/lib/{types → app/types}/IGraphIterator.js +1 -1
  150. package/lib/{types → app/types}/IIterable.d.ts +0 -0
  151. package/lib/{types → app/types}/IIterable.js +1 -1
  152. package/lib/{types → app/types}/IIterator.d.ts +0 -0
  153. package/lib/{types → app/types}/IIterator.js +1 -1
  154. package/lib/{types → app/types}/IKeyValueStorage.d.ts +0 -0
  155. package/lib/{types → app/types}/IKeyValueStorage.js +1 -1
  156. package/lib/{types → app/types}/ILinearStorage.d.ts +0 -0
  157. package/lib/{types → app/types}/ILinearStorage.js +1 -1
  158. package/lib/{types → app/types}/ILinearStorageRA.d.ts +0 -0
  159. package/lib/{types → app/types}/ILinearStorageRA.js +1 -1
  160. package/lib/{types → app/types}/ILinkedList.d.ts +0 -0
  161. package/lib/{types → app/types}/ILinkedList.js +1 -1
  162. package/lib/app/types/TypeArrayMatrix.d.ts +1 -0
  163. package/lib/app/types/TypeArrayMatrix.js +3 -0
  164. package/lib/{utils.d.ts → app/utils.d.ts} +4 -0
  165. package/lib/{utils.js → app/utils.js} +8 -2
  166. package/lib/exports/algorithms.d.ts +15 -15
  167. package/lib/exports/algorithms.js +16 -16
  168. package/lib/exports/constants.d.ts +1 -1
  169. package/lib/exports/constants.js +2 -2
  170. package/lib/exports/data-structures.d.ts +10 -10
  171. package/lib/exports/data-structures.js +11 -11
  172. package/lib/exports/helpers.d.ts +5 -5
  173. package/lib/exports/helpers.js +6 -6
  174. package/lib/exports/sorts.d.ts +5 -5
  175. package/lib/exports/sorts.js +6 -6
  176. package/lib/exports/types.d.ts +16 -0
  177. package/lib/exports/types.js +34 -0
  178. package/lib/exports/utils.d.ts +2 -2
  179. package/lib/exports/utils.js +3 -3
  180. package/lib/exports.d.ts +47 -46
  181. package/lib/exports.js +51 -49
  182. package/lib/index.js +1 -2
  183. package/package.json +11 -6
  184. package/lib/algorithms/binary-search.js +0 -27
  185. package/lib/algorithms/fibonacci.js +0 -17
  186. package/lib/algorithms/sorts/insertion-sort.js +0 -25
  187. package/lib/algorithms/sorts/merge-sort.js +0 -61
  188. package/lib/algorithms/transpose-matrix.d.ts +0 -5
  189. package/lib/data-structures/Graph/demo/generateRandomGraph.js +0 -66
  190. package/lib/data-structures/Graph/iterator/AbstractGraphIterator.js +0 -90
  191. package/lib/data-structures/HashTable/HashTable.js +0 -171
  192. package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +0 -241
  193. package/lib/data-structures/LoopedArray/LoopedArray.js +0 -169
  194. package/lib/data-structures/Queue/Queue.js +0 -85
  195. package/lib/data-structures/Stack/Stack.js +0 -85
  196. package/lib/helpers/createBinaryTree.d.ts +0 -6
  197. package/lib/helpers/createBinaryTree.js +0 -22
  198. package/lib/helpers/createGraph.d.ts +0 -6
  199. package/lib/helpers/createGraph.js +0 -24
  200. package/lib/helpers/createGraphFromMatrix.d.ts +0 -7
  201. package/lib/helpers/createGraphFromMatrix.js +0 -42
  202. package/lib/helpers/createLinkedList.d.ts +0 -3
  203. package/lib/helpers/createLinkedList.js +0 -21
  204. package/lib/types/ArrayMatrix.d.ts +0 -1
  205. package/lib/types/ArrayMatrix.js +0 -3
@@ -1,169 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var IllegalCapacityException_1 = require("../../exceptions/IllegalCapacityException");
4
- var IsNotFoundException_1 = require("../../exceptions/IsNotFoundException");
5
- var IsEmptyException_1 = require("../../exceptions/IsEmptyException");
6
- /**
7
- * Linear data structure
8
- * Facade above array
9
- * After reaching full array new pushed elements will be overwritten over old elements
10
- */
11
- var LoopedArray = /** @class */ (function () {
12
- /**
13
- * Create empty instance
14
- */
15
- function LoopedArray(capacity) {
16
- this._realLength = 0;
17
- if (capacity <= 0) {
18
- throw new IllegalCapacityException_1.default("Capacity must be larger than 0");
19
- }
20
- this._capacity = capacity;
21
- this._array = new Array(0);
22
- }
23
- /**
24
- * Push into end
25
- */
26
- LoopedArray.prototype.push = function (value) {
27
- if (this._realLength % this._capacity === 0) {
28
- this._array = new Array(0);
29
- }
30
- this._realLength++;
31
- if (!this.isFull()) {
32
- this._array.push(value);
33
- }
34
- else {
35
- var indexToPush = (this._realLength % this._capacity) - 1;
36
- this._array.splice(indexToPush, 1, value);
37
- }
38
- };
39
- /**
40
- * Push into start
41
- */
42
- LoopedArray.prototype.unshift = function (value) {
43
- if (this._realLength % this._capacity === 0) {
44
- this._array = new Array(0);
45
- }
46
- this._realLength++;
47
- if (!this.isFull()) {
48
- this._array.unshift(value);
49
- }
50
- else {
51
- this._array.splice(this._capacity - 1);
52
- this._array.unshift(value);
53
- }
54
- };
55
- /**
56
- * Delete node from array's end
57
- */
58
- LoopedArray.prototype.pop = function () {
59
- if (this.isEmpty()) {
60
- throw new IsEmptyException_1.default("cannot delete because array is empty");
61
- }
62
- this._realLength--;
63
- var deletedItem = this._array.pop();
64
- if (deletedItem === undefined) {
65
- throw new IsNotFoundException_1.default("cannot delete last element because of it does not exists");
66
- }
67
- return deletedItem;
68
- };
69
- /**
70
- * Delete node from array's start
71
- */
72
- LoopedArray.prototype.shift = function () {
73
- if (this.isEmpty()) {
74
- throw new IsEmptyException_1.default("cannot delete because array is empty");
75
- }
76
- this._realLength--;
77
- var deletedItem = this._array.shift();
78
- if (deletedItem === undefined) {
79
- throw new IsNotFoundException_1.default("cannot delete first element because of it does not exists");
80
- }
81
- return deletedItem;
82
- };
83
- /**
84
- * Get head element data
85
- */
86
- LoopedArray.prototype.peek = function () {
87
- return this._array[this._array.length - 1];
88
- };
89
- /**
90
- * Get tail element data
91
- */
92
- LoopedArray.prototype.peekFromStart = function () {
93
- return this._array[0];
94
- };
95
- /**
96
- * Get array element by index from start
97
- */
98
- LoopedArray.prototype.peekByIndex = function (index) {
99
- return this._array[index];
100
- };
101
- /**
102
- * Push from index
103
- */
104
- LoopedArray.prototype.pushFromIndex = function (value, fromIndex) {
105
- this._array[fromIndex] = value;
106
- };
107
- /**
108
- * Get elements as array
109
- */
110
- LoopedArray.prototype.getAsArray = function () {
111
- return this._array;
112
- };
113
- /**
114
- * Check if element exists in array
115
- */
116
- LoopedArray.prototype.has = function (item) {
117
- return this._array.includes(item);
118
- };
119
- /**
120
- * Is array empty
121
- */
122
- LoopedArray.prototype.isEmpty = function () {
123
- return this._array.length === 0;
124
- };
125
- /**
126
- * Is array full
127
- */
128
- LoopedArray.prototype.isFull = function () {
129
- return this._array.length >= this._capacity;
130
- };
131
- /**
132
- * List length
133
- */
134
- LoopedArray.prototype.length = function () {
135
- return this._array.length;
136
- };
137
- /**
138
- * Remove all elements from array
139
- */
140
- LoopedArray.prototype.clear = function () {
141
- this._array = new Array(0);
142
- };
143
- /**
144
- * Delete node from array by index from start
145
- */
146
- LoopedArray.prototype.deleteFromIndex = function (fromIndex) {
147
- var deletedElement = this._array[fromIndex];
148
- delete this._array[fromIndex];
149
- return deletedElement;
150
- };
151
- /**
152
- * Add elements to array from array
153
- * */
154
- LoopedArray.prototype.pushFromArray = function (elements) {
155
- var _this = this;
156
- elements.forEach(function (element) {
157
- _this.push(element);
158
- });
159
- };
160
- /**
161
- * Reverse array nodes links and swap head with tail
162
- */
163
- LoopedArray.prototype.reverse = function () {
164
- this._array = this._array.reverse();
165
- };
166
- return LoopedArray;
167
- }());
168
- exports.default = LoopedArray;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9vcGVkQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS1zdHJ1Y3R1cmVzL0xvb3BlZEFycmF5L0xvb3BlZEFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0Esc0ZBQWlGO0FBQ2pGLDRFQUF1RTtBQUN2RSxzRUFBaUU7QUFFakU7Ozs7R0FJRztBQUNIO0lBS0U7O09BRUc7SUFDSCxxQkFBWSxRQUFnQjtRQU5wQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQU90QixJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUU7WUFDakIsTUFBTSxJQUFJLGtDQUF3QixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDdEU7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLDBCQUFJLEdBQVgsVUFBWSxLQUFRO1FBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFJLENBQUMsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7YUFBTTtZQUNMLElBQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0M7SUFDSCxD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
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var DoubleLinkedList_1 = require("../LinkedList/DoubleLinkedList/DoubleLinkedList");
4
- var IsEmptyException_1 = require("../../exceptions/IsEmptyException");
5
- var IsFullException_1 = require("../../exceptions/IsFullException");
6
- /**
7
- * FIFO data structure
8
- */
9
- var Queue = /** @class */ (function () {
10
- /**
11
- * Create a queue instance
12
- */
13
- function Queue(capacity) {
14
- this._list = new DoubleLinkedList_1.default(capacity);
15
- }
16
- /**
17
- * Get first element in queue (without deleting)
18
- * @throws when list is empty
19
- */
20
- Queue.prototype.peek = function () {
21
- if (this.isEmpty()) {
22
- throw new IsEmptyException_1.default("Cannot peek when list is empty");
23
- }
24
- return this._list.peek();
25
- };
26
- /**
27
- * Add element to queue
28
- * @throws when list is full
29
- */
30
- Queue.prototype.push = function (item) {
31
- if (this._list.isFull()) {
32
- throw new IsFullException_1.default("Cannot push when queue is full");
33
- }
34
- this._list.unshift(item);
35
- };
36
- /**
37
- * Delete first element in queue
38
- * @throws when list is empty
39
- */
40
- Queue.prototype.pop = function () {
41
- if (this.isEmpty()) {
42
- throw new IsEmptyException_1.default("Cannot pop when list is empty");
43
- }
44
- return this._list.pop();
45
- };
46
- /**
47
- * Check if element exists in list
48
- */
49
- Queue.prototype.has = function (item) {
50
- return this._list.has(item);
51
- };
52
- /**
53
- * Is queue empty
54
- */
55
- Queue.prototype.isEmpty = function () {
56
- return this._list.isEmpty();
57
- };
58
- /**
59
- * Is stack full
60
- */
61
- Queue.prototype.isFull = function () {
62
- return this._list.isFull();
63
- };
64
- /**
65
- * Remove all elements in queue
66
- */
67
- Queue.prototype.clear = function () {
68
- this._list.clear();
69
- };
70
- /**
71
- * Queue length
72
- */
73
- Queue.prototype.length = function () {
74
- return this._list.length();
75
- };
76
- /**
77
- * Reverse queue
78
- */
79
- Queue.prototype.reverse = function () {
80
- this._list.reverse();
81
- };
82
- return Queue;
83
- }());
84
- exports.default = Queue;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS1zdHJ1Y3R1cmVzL1F1ZXVlL1F1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0ZBQStFO0FBRy9FLHNFQUFpRTtBQUNqRSxvRUFBK0Q7QUFFL0Q7O0dBRUc7QUFDSDtJQUdFOztPQUVHO0lBQ0gsZUFBbUIsUUFBaUI7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLDBCQUFnQixDQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSSxvQkFBSSxHQUFYO1FBQ0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxJQUFJLDBCQUFnQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFJLEdBQVgsVUFBWSxJQUFPO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN2QixNQUFNLElBQUkseUJBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG1CQUFHLEdBQVY7UUFDRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksMEJBQWdCLENBQUMsK0JBQStCLENBQUMsQ0FBQztTQUM3RDtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBRyxHQUFWLFVBQVcsSUFBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLHVCQUFPLEdBQWQ7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQU0sR0FBYjtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBSyxHQUFaO1FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBTSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLHVCQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQXBGRCxJQW9GQyJ9
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var DoubleLinkedList_1 = require("../LinkedList/DoubleLinkedList/DoubleLinkedList");
4
- var IsEmptyException_1 = require("../../exceptions/IsEmptyException");
5
- var IsFullException_1 = require("../../exceptions/IsFullException");
6
- /**
7
- * LIFO data structure
8
- */
9
- var Stack = /** @class */ (function () {
10
- /**
11
- * Create a stack instance
12
- */
13
- function Stack(capacity) {
14
- this._list = new DoubleLinkedList_1.default(capacity);
15
- }
16
- /**
17
- * Get stack top element
18
- * @throws when list is empty
19
- */
20
- Stack.prototype.peek = function () {
21
- if (this.isEmpty()) {
22
- throw new IsEmptyException_1.default("Cannot peek when list is empty");
23
- }
24
- return this._list.peek();
25
- };
26
- /**
27
- * Add element to stack head
28
- * @throws when list is full
29
- */
30
- Stack.prototype.push = function (item) {
31
- if (this.isFull()) {
32
- throw new IsFullException_1.default("Stack is full");
33
- }
34
- this._list.push(item);
35
- };
36
- /**
37
- * Remove element from stack head
38
- * @throws when list is empty
39
- */
40
- Stack.prototype.pop = function () {
41
- if (this.isEmpty()) {
42
- throw new IsEmptyException_1.default("Cannot pop when stack is empty");
43
- }
44
- return this._list.pop();
45
- };
46
- /**
47
- * Check if element exists in list
48
- */
49
- Stack.prototype.has = function (item) {
50
- return this._list.has(item);
51
- };
52
- /**
53
- * Is stack empty
54
- */
55
- Stack.prototype.isEmpty = function () {
56
- return this._list.isEmpty();
57
- };
58
- /**
59
- * Is stack full
60
- */
61
- Stack.prototype.isFull = function () {
62
- return this._list.isFull();
63
- };
64
- /**
65
- * Remove all elements in stack
66
- */
67
- Stack.prototype.clear = function () {
68
- this._list.clear();
69
- };
70
- /**
71
- * Queue length
72
- */
73
- Stack.prototype.length = function () {
74
- return this._list.length();
75
- };
76
- /**
77
- * Reverse stack
78
- */
79
- Stack.prototype.reverse = function () {
80
- this._list.reverse();
81
- };
82
- return Stack;
83
- }());
84
- exports.default = Stack;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS1zdHJ1Y3R1cmVzL1N0YWNrL1N0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0ZBQStFO0FBRy9FLHNFQUFpRTtBQUNqRSxvRUFBK0Q7QUFFL0Q7O0dBRUc7QUFDSDtJQUdFOztPQUVHO0lBQ0gsZUFBbUIsUUFBaUI7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLDBCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxvQkFBSSxHQUFYO1FBQ0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxJQUFJLDBCQUFnQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFJLEdBQVgsVUFBWSxJQUFPO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSx5QkFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG1CQUFHLEdBQVY7UUFDRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksMEJBQWdCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUM5RDtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBRyxHQUFWLFVBQVcsSUFBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLHVCQUFPLEdBQWQ7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQU0sR0FBYjtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBSyxHQUFaO1FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBTSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLHVCQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQXBGRCxJQW9GQyJ9
@@ -1,6 +0,0 @@
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>;
@@ -1,22 +0,0 @@
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==
@@ -1,6 +0,0 @@
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>;
@@ -1,24 +0,0 @@
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==
@@ -1,7 +0,0 @@
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>;
@@ -1,42 +0,0 @@
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=
@@ -1,3 +0,0 @@
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>;
@@ -1,21 +0,0 @@
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==
@@ -1 +0,0 @@
1
- export declare type ArrayMatrix = Array<Array<number>>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXlNYXRyaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQXJyYXlNYXRyaXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9