@raikuxq/alg-ds 1.1.4 → 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.
- package/README.md +26 -16
- package/lib/algorithms/transpose-matrix.js +6 -8
- package/lib/data-structures/BinaryTree/BinarySearchTree/BinarySearchTree.js +7 -4
- package/lib/data-structures/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.js +3 -2
- package/lib/data-structures/Graph/AbstractGraph.js +6 -4
- package/lib/data-structures/Graph/DirectedGraph.js +5 -4
- package/lib/data-structures/Graph/UndirectedGraph.js +5 -4
- package/lib/data-structures/Graph/demo/generateRandomGraph.js +1 -7
- package/lib/data-structures/Graph/searching/hasPath.js +4 -3
- package/lib/data-structures/Graph/searching/shortestPath.js +4 -3
- package/lib/data-structures/HashTable/HashTable.js +6 -4
- package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.d.ts +2 -2
- package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +25 -20
- package/lib/data-structures/LinkedList/DoubleLinkedList/DoubleLinkedList.js +4 -3
- package/lib/data-structures/LinkedList/SingleLinkedList/SingleLinkedList.js +3 -2
- package/lib/data-structures/LoopedArray/LoopedArray.d.ts +0 -3
- package/lib/data-structures/LoopedArray/LoopedArray.js +17 -9
- package/lib/data-structures/Queue/Queue.js +6 -4
- package/lib/data-structures/Stack/Stack.js +6 -4
- package/lib/exceptions/IllegalCapacityException.d.ts +4 -0
- package/lib/exceptions/IllegalCapacityException.js +28 -0
- package/lib/exceptions/IndexOutOfBoundsException.d.ts +4 -0
- package/lib/exceptions/IndexOutOfBoundsException.js +28 -0
- package/lib/exceptions/IsAlreadyExistsException.d.ts +4 -0
- package/lib/exceptions/IsAlreadyExistsException.js +28 -0
- package/lib/exceptions/IsEmptyException.d.ts +4 -0
- package/lib/exceptions/IsEmptyException.js +28 -0
- package/lib/exceptions/IsFullException.d.ts +4 -0
- package/lib/exceptions/IsFullException.js +28 -0
- package/lib/exceptions/IsNotFoundException.d.ts +4 -0
- package/lib/exceptions/IsNotFoundException.js +28 -0
- package/lib/exceptions/base/IllegalArgumentException.d.ts +3 -0
- package/lib/exceptions/base/IllegalArgumentException.js +27 -0
- package/lib/exceptions/base/IllegalStateException.d.ts +3 -0
- package/lib/exceptions/base/IllegalStateException.js +27 -0
- package/lib/exports.d.ts +8 -0
- package/lib/exports.js +16 -2
- package/lib/helpers/createGraphFromMatrix.js +6 -1
- package/lib/utils.d.ts +4 -0
- package/lib/utils.js +15 -2
- package/package.json +3 -3
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
var IllegalStateException_1 = require("./base/IllegalStateException");
|
|
17
|
+
var IsNotFoundException = /** @class */ (function (_super) {
|
|
18
|
+
__extends(IsNotFoundException, _super);
|
|
19
|
+
function IsNotFoundException(message) {
|
|
20
|
+
var _this = _super.call(this, message) || this;
|
|
21
|
+
_this.name = _this.constructor.name;
|
|
22
|
+
Object.setPrototypeOf(_this, IsNotFoundException.prototype);
|
|
23
|
+
return _this;
|
|
24
|
+
}
|
|
25
|
+
return IsNotFoundException;
|
|
26
|
+
}(IllegalStateException_1.default));
|
|
27
|
+
exports.default = IsNotFoundException;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNOb3RGb3VuZEV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGNlcHRpb25zL0lzTm90Rm91bmRFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQWlFO0FBRWpFO0lBQWlELHVDQUFxQjtJQUNwRSw2QkFBWSxPQUFlO1FBQTNCLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBR2Y7UUFGQyxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDOztJQUM3RCxDQUFDO0lBQ0gsMEJBQUM7QUFBRCxDQUFDLEFBTkQsQ0FBaUQsK0JBQXFCLEdBTXJFIn0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
var IllegalArgumentException = /** @class */ (function (_super) {
|
|
17
|
+
__extends(IllegalArgumentException, _super);
|
|
18
|
+
function IllegalArgumentException(message) {
|
|
19
|
+
var _this = _super.call(this, message) || this;
|
|
20
|
+
_this.name = _this.constructor.name;
|
|
21
|
+
Object.setPrototypeOf(_this, IllegalArgumentException.prototype);
|
|
22
|
+
return _this;
|
|
23
|
+
}
|
|
24
|
+
return IllegalArgumentException;
|
|
25
|
+
}(Error));
|
|
26
|
+
exports.default = IllegalArgumentException;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbnMvYmFzZS9JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7SUFBc0QsNENBQUs7SUFDekQsa0NBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDbEUsQ0FBQztJQUNILCtCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQXNELEtBQUssR0FNMUQifQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
var IllegalStateException = /** @class */ (function (_super) {
|
|
17
|
+
__extends(IllegalStateException, _super);
|
|
18
|
+
function IllegalStateException(message) {
|
|
19
|
+
var _this = _super.call(this, message) || this;
|
|
20
|
+
_this.name = _this.constructor.name;
|
|
21
|
+
Object.setPrototypeOf(_this, IllegalStateException.prototype);
|
|
22
|
+
return _this;
|
|
23
|
+
}
|
|
24
|
+
return IllegalStateException;
|
|
25
|
+
}(Error));
|
|
26
|
+
exports.default = IllegalStateException;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbnMvYmFzZS9JbGxlZ2FsU3RhdGVFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7SUFBbUQseUNBQUs7SUFDdEQsK0JBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDL0QsQ0FBQztJQUNILDRCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQW1ELEtBQUssR0FNdkQifQ==
|
package/lib/exports.d.ts
CHANGED
|
@@ -29,6 +29,13 @@ import DoubleLinkedList from "./data-structures/LinkedList/DoubleLinkedList/Doub
|
|
|
29
29
|
import SingleLinkedList from "./data-structures/LinkedList/SingleLinkedList/SingleLinkedList";
|
|
30
30
|
import LoopedArray from "./data-structures/LoopedArray/LoopedArray";
|
|
31
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";
|
|
32
39
|
import { bubbleSort } from "./algorithms/sorts/bubble-sort";
|
|
33
40
|
import { selectSort } from "./algorithms/sorts/select-sort";
|
|
34
41
|
import { mergeSort } from "./algorithms/sorts/merge-sort";
|
|
@@ -42,3 +49,4 @@ export { Stack, Queue, SingleLinkedList, DoubleLinkedList, RandBinarySearchTree,
|
|
|
42
49
|
export { EDGE_NOT_EXISTS_STATE, EDGE_EXISTS_STATE };
|
|
43
50
|
export { createGraph, createGraphFromMatrix, createBinaryTree, createLinkedList, generateRandomGraph, };
|
|
44
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transposeDirectedGraph = exports.GraphIteratorDijkstra = exports.GraphIteratorBFS = exports.BFSIterationStrategy = exports.DFSIterationStrategy = exports.DijkstraIterationStrategy = exports.shortestPath = exports.hasPath = exports.presenterAdjacencyMatrix = exports.presenterAdjacencyLists = exports.GraphIteratorDFS = exports.transposeMatrix = exports.fibonacci = exports.memoizedFibonacci = exports.memoizedFactorial = exports.factorial = exports.binarySearch = exports.generateRandomGraph = exports.createLinkedList = exports.createBinaryTree = exports.createGraphFromMatrix = exports.createGraph = exports.EDGE_EXISTS_STATE = exports.EDGE_NOT_EXISTS_STATE = exports.HashTable = exports.LoopedArray = exports.UndirectedGraph = exports.DirectedGraph = exports.BinarySearchTree = exports.RandBinarySearchTree = exports.DoubleLinkedList = exports.SingleLinkedList = exports.Queue = exports.Stack = exports.quickSort = exports.selectSort = exports.mergeSort = exports.insertionSort = exports.bubbleSort = exports.swapArrayItems = exports.randomizeNumberInRange = exports.roundNumber = exports.perfAsync = exports.memoize = exports.getMinIndexFromIndex = exports.getMinIndex = exports.perf = void 0;
|
|
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
4
|
var factorial_1 = require("./algorithms/factorial");
|
|
5
5
|
Object.defineProperty(exports, "factorial", { enumerable: true, get: function () { return factorial_1.factorial; } });
|
|
6
6
|
Object.defineProperty(exports, "memoizedFactorial", { enumerable: true, get: function () { return factorial_1.memoizedFactorial; } });
|
|
@@ -66,6 +66,20 @@ var LoopedArray_1 = require("./data-structures/LoopedArray/LoopedArray");
|
|
|
66
66
|
exports.LoopedArray = LoopedArray_1.default;
|
|
67
67
|
var HashTable_1 = require("./data-structures/HashTable/HashTable");
|
|
68
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;
|
|
69
83
|
var bubble_sort_1 = require("./algorithms/sorts/bubble-sort");
|
|
70
84
|
Object.defineProperty(exports, "bubbleSort", { enumerable: true, get: function () { return bubble_sort_1.bubbleSort; } });
|
|
71
85
|
var select_sort_1 = require("./algorithms/sorts/select-sort");
|
|
@@ -86,4 +100,4 @@ Object.defineProperty(exports, "randomizeNumberInRange", { enumerable: true, get
|
|
|
86
100
|
Object.defineProperty(exports, "roundNumber", { enumerable: true, get: function () { return utils_1.roundNumber; } });
|
|
87
101
|
Object.defineProperty(exports, "swapArrayItems", { enumerable: true, get: function () { return utils_1.swapArrayItems; } });
|
|
88
102
|
Object.defineProperty(exports, "perfAsync", { enumerable: true, get: function () { return utils_1.perfAsync; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFzRTtBQTRGcEUsMEZBNUZPLHFCQUFTLE9BNEZQO0FBQ1Qsa0dBN0ZrQiw2QkFBaUIsT0E2RmxCO0FBNUZuQixvREFBc0U7QUE4RnBFLDBGQTlGTyxxQkFBUyxPQThGUDtBQURULGtHQTdGa0IsNkJBQWlCLE9BNkZsQjtBQTVGbkIsNERBQTBEO0FBeUZ4RCw2RkF6Rk8sNEJBQVksT0F5RlA7QUF4RmQsa0VBQWdFO0FBNkY5RCxnR0E3Rk8sa0NBQWUsT0E2RlA7QUE1RmpCLHFHQUFvRztBQXVHbEcsdUdBdkdPLCtDQUFzQixPQXVHUDtBQXRHeEIsOEZBQXlGO0FBbUd2RiwrQkFuR0ssOEJBQW9CLENBbUdMO0FBbEd0Qiw4RkFBeUY7QUFpR3ZGLCtCQWpHSyw4QkFBb0IsQ0FpR0w7QUFoR3RCLHdHQUFtRztBQStGakcsb0NBL0ZLLG1DQUF5QixDQStGTDtBQTlGM0Isc0ZBQWlGO0FBaUcvRSwyQkFqR0ssMEJBQWdCLENBaUdMO0FBaEdsQixzRkFBaUY7QUF3Ri9FLDJCQXhGSywwQkFBZ0IsQ0F3Rkw7QUF2RmxCLGdHQUEyRjtBQWdHekYsZ0NBaEdLLCtCQUFxQixDQWdHTDtBQS9GdkIscUVBQW9FO0FBeUZsRSx3RkF6Rk8saUJBQU8sT0F5RlA7QUF4RlQsK0VBQThFO0FBeUY1RSw2RkF6Rk8sMkJBQVksT0F5RlA7QUF4RmQsdUdBQXNHO0FBc0ZwRyx5R0F0Rk8sbURBQXdCLE9Bc0ZQO0FBckYxQixxR0FBb0c7QUFvRmxHLHdHQXBGTyxpREFBdUIsT0FvRlA7QUFuRnpCLHdGQUF1RjtBQXdFckYsb0dBeEVPLHlDQUFtQixPQXdFUDtBQXZFckIsK0RBQThEO0FBc0U1RCxpR0F0RU8sbUNBQWdCLE9Bc0VQO0FBckVsQiwrREFBOEQ7QUFvRTVELGlHQXBFTyxtQ0FBZ0IsT0FvRVA7QUFuRWxCLHFEQUFvRDtBQWlFbEQsNEZBakVPLHlCQUFXLE9BaUVQO0FBaEViLHlFQUF3RTtBQWlFdEUsc0dBakVPLDZDQUFxQixPQWlFUDtBQWhFdkIseUNBQXVFO0FBNER2QyxrR0E1RHZCLDZCQUFpQixPQTREdUI7QUFBeEMsc0dBNURtQixpQ0FBcUIsT0E0RG5CO0FBM0Q5Qix1REFBa0Q7QUFnRGhELGdCQWhESyxlQUFLLENBZ0RMO0FBL0NQLHVEQUFrRDtBQThDaEQsZ0JBOUNLLGVBQUssQ0E4Q0w7QUE3Q1AsMkVBQXNFO0FBb0RwRSwwQkFwREsseUJBQWUsQ0FvREw7QUFuRGpCLHVFQUFrRTtBQWtEaEUsd0JBbERLLHVCQUFhLENBa0RMO0FBakRmLG1HQUE4RjtBQWdENUYsMkJBaERLLDBCQUFnQixDQWdETDtBQS9DbEIsK0dBQTBHO0FBOEN4RywrQkE5Q0ssOEJBQW9CLENBOENMO0FBN0N0QixtR0FBOEY7QUE0QzVGLDJCQTVDSywwQkFBZ0IsQ0E0Q0w7QUEzQ2xCLG1HQUE4RjtBQTBDNUYsMkJBMUNLLDBCQUFnQixDQTBDTDtBQXpDbEIseUVBQW9FO0FBK0NsRSxzQkEvQ0sscUJBQVcsQ0ErQ0w7QUE5Q2IsbUVBQThEO0FBK0M1RCxvQkEvQ0ssbUJBQVMsQ0ErQ0w7QUE5Q1gsd0VBQW1FO0FBaUZqRSw4QkFqRkssNkJBQW1CLENBaUZMO0FBaEZyQixrRkFBNkU7QUFpRjNFLG1DQWpGSyxrQ0FBd0IsQ0FpRkw7QUFoRjFCLGtGQUE2RTtBQWlGM0UsbUNBakZLLGtDQUF3QixDQWlGTDtBQWhGMUIsdUZBQWtGO0FBaUZoRixtQ0FqRkssa0NBQXdCLENBaUZMO0FBaEYxQixpRkFBNEU7QUFpRjFFLGdDQWpGSywrQkFBcUIsQ0FpRkw7QUFoRnZCLG9GQUErRTtBQWlGN0Usb0NBakZLLG1DQUF5QixDQWlGTDtBQWhGM0Isa0VBQTZEO0FBMEUzRCwyQkExRUssMEJBQWdCLENBMEVMO0FBekVsQiw4REFBNEQ7QUEyQm5ELDJGQTNCQSx3QkFBVSxPQTJCQTtBQTFCbkIsOERBQTREO0FBMEJiLDJGQTFCdEMsd0JBQVUsT0EwQnNDO0FBekJ6RCw0REFBMEQ7QUF5QnRCLDBGQXpCM0Isc0JBQVMsT0F5QjJCO0FBeEI3QyxvRUFBa0U7QUF3QjdDLDhGQXhCWiw4QkFBYSxPQXdCWTtBQXZCbEMsNERBQTBEO0FBdUJDLDBGQXZCbEQsc0JBQVMsT0F1QmtEO0FBdEJwRSxnREFBK0M7QUFlN0Msd0ZBZk8saUJBQU8sT0FlUDtBQWRULGlDQVFpQjtBQUlmLDRGQVhBLG1CQUFXLE9BV0E7QUFDWCxxR0FYQSw0QkFBb0IsT0FXQTtBQUZwQixxRkFSQSxZQUFJLE9BUUE7QUFNSix1R0FiQSw4QkFBc0IsT0FhQTtBQUR0Qiw0RkFYQSxtQkFBVyxPQVdBO0FBRVgsK0ZBWkEsc0JBQWMsT0FZQTtBQUhkLDBGQVJBLGlCQUFTLE9BUUEifQ==
|
|
@@ -4,10 +4,15 @@ exports.createGraphFromMatrix = void 0;
|
|
|
4
4
|
var EnumGraphType_1 = require("../types/EnumGraphType");
|
|
5
5
|
var createGraph_1 = require("./createGraph");
|
|
6
6
|
var constants_1 = require("../constants");
|
|
7
|
+
var IllegalArgumentException_1 = require("../exceptions/base/IllegalArgumentException");
|
|
8
|
+
var utils_1 = require("../utils");
|
|
7
9
|
/**
|
|
8
10
|
* Creates a graph from N*N matrix that contains 1 in case of edge exists or 0 in case it does not
|
|
9
11
|
*/
|
|
10
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
|
+
}
|
|
11
16
|
var graph = createGraph_1.createGraph(type);
|
|
12
17
|
fieldsList.forEach(function (fieldName) {
|
|
13
18
|
graph.addVertex(fieldName);
|
|
@@ -34,4 +39,4 @@ exports.createGraphFromMatrix = function (matrix, fieldsList, type) {
|
|
|
34
39
|
});
|
|
35
40
|
return graph;
|
|
36
41
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlR3JhcGhGcm9tTWF0cml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvY3JlYXRlR3JhcGhGcm9tTWF0cml4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUF1RDtBQUV2RCw2Q0FBNEM7QUFDNUMsMENBQWlEO0FBQ2pELHdGQUFtRjtBQUNuRixrQ0FBOEM7QUFFOUM7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLFVBQ25DLE1BQW1CLEVBQ25CLFVBQW9CLEVBQ3BCLElBQW1CO0lBRW5CLElBQUksQ0FBQywwQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMvQixNQUFNLElBQUksa0NBQXdCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUNuRTtJQUVELElBQU0sS0FBSyxHQUFjLHlCQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLFNBQVM7UUFDM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFrQixFQUFFLFFBQWdCO1FBQ2xELEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFXLEVBQUUsUUFBZ0I7WUFDeEMsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUUvQyxJQUFJLElBQUksS0FBSyw2QkFBYSxDQUFDLFVBQVUsRUFBRTtnQkFDckMsSUFDRSxXQUFXLEtBQUssNkJBQWlCO29CQUNqQyxXQUFXLEtBQUssNkJBQWlCLEVBQ2pDO29CQUNBLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDthQUNGO1lBRUQsSUFBSSxJQUFJLEtBQUssNkJBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25DLElBQUksV0FBVyxLQUFLLDZCQUFpQixFQUFFO29CQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7Z0JBQ0QsSUFBSSxXQUFXLEtBQUssNkJBQWlCLEVBQUU7b0JBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIn0=
|
package/lib/utils.d.ts
CHANGED
|
@@ -27,3 +27,7 @@ export declare const perf: (fn: () => void) => number;
|
|
|
27
27
|
* Get time execution of function
|
|
28
28
|
*/
|
|
29
29
|
export declare const perfAsync: (fn: () => void) => Promise<number>;
|
|
30
|
+
/**
|
|
31
|
+
* Check is given array a matrix N*N
|
|
32
|
+
*/
|
|
33
|
+
export declare const checkIsArrayMatrix: <T>(array: T[][]) => boolean;
|
package/lib/utils.js
CHANGED
|
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.perfAsync = exports.perf = exports.roundNumber = exports.randomizeNumberInRange = exports.swapArrayItems = exports.getMinIndexFromIndex = exports.getMinIndex = void 0;
|
|
39
|
+
exports.checkIsArrayMatrix = exports.perfAsync = exports.perf = exports.roundNumber = exports.randomizeNumberInRange = exports.swapArrayItems = exports.getMinIndexFromIndex = exports.getMinIndex = void 0;
|
|
40
40
|
var perf_hooks_1 = require("perf_hooks");
|
|
41
41
|
/**
|
|
42
42
|
* Will find min value in the whole array and return its index
|
|
@@ -92,4 +92,17 @@ exports.perfAsync = function (fn) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
92
92
|
return [2 /*return*/, Promise.resolve(exports.perf(fn))];
|
|
93
93
|
});
|
|
94
94
|
}); };
|
|
95
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Check is given array a matrix N*N
|
|
97
|
+
*/
|
|
98
|
+
exports.checkIsArrayMatrix = function (array) {
|
|
99
|
+
for (var i = 0; i < array.length; i++) {
|
|
100
|
+
var subArray = array[i];
|
|
101
|
+
var checkIsSameLength = subArray.length === array.length;
|
|
102
|
+
if (!checkIsSameLength) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXlDO0FBR3pDOztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsVUFBQyxHQUFrQjtJQUM1QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUs7UUFDdEMsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNqRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsVUFDbEMsR0FBa0IsRUFDbEIsU0FBaUI7SUFFakIsT0FBTyxTQUFTLEdBQUcsbUJBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsVUFDNUIsR0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFVBQWtCO0lBRWxCLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRTtRQUM1QixJQUFNLElBQUksR0FBTSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLFVBQUMsR0FBVyxFQUFFLEdBQVc7SUFDN0QsT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUc7QUFBN0MsQ0FBNkMsQ0FBQztBQUVoRDs7R0FFRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsR0FBVztJQUNyQyxPQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUk7QUFBN0IsQ0FBNkIsQ0FBQztBQUVoQzs7R0FFRztBQUNVLFFBQUEsSUFBSSxHQUFHLFVBQUMsRUFBYztJQUNqQyxJQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLEVBQUUsRUFBRSxDQUFDO0lBQ0wsSUFBTSxPQUFPLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQyxPQUFPLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLFNBQVMsR0FBRyxVQUFPLEVBQWM7O1FBQzVDLHNCQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUM7O0tBQ2xDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsVUFBSSxLQUFzQjtJQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNyQyxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "https://github.com/raikuxq/lab-ts-algorithms"
|
|
14
14
|
},
|
|
15
|
-
"main": "./
|
|
16
|
-
"types": "./
|
|
15
|
+
"main": "./lib/exports.js",
|
|
16
|
+
"types": "./lib/exports.d.ts",
|
|
17
17
|
"files": [
|
|
18
18
|
"lib",
|
|
19
19
|
"README.md",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"typescript": "^4.0.3"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {},
|
|
41
|
-
"version": "1.1.
|
|
41
|
+
"version": "1.1.7"
|
|
42
42
|
}
|