data-structure-typed 1.41.8 → 1.42.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.
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
@@ -238,67 +238,18 @@ export declare class BinaryTree<V = any, N extends BinaryTreeNode<V, N> = Binary
238
238
  * @returns a boolean value.
239
239
  */
240
240
  isBST(iterationType?: IterationType): boolean;
241
- /**
242
- * The function `subTreeTraverse` traverses a binary tree and applies a callback function to each
243
- * node, either recursively or iteratively.
244
- * @param callback - The `callback` parameter is a function that will be called on each node in the
245
- * subtree traversal. It takes a single argument, which is the current node being traversed, and
246
- * returns a value. The return values from each callback invocation will be collected and returned as
247
- * an array.
248
- * @param {BTNKey | N | null} beginRoot - The `beginRoot` parameter is the starting point
249
- * for traversing the subtree. It can be either a node object, a key value of a node, or `null` to
250
- * start from the root of the tree.
251
- * @param iterationType - The `iterationType` parameter determines the type of traversal to be
252
- * performed on the binary tree. It can have two possible values:
253
- * @returns The function `subTreeTraverse` returns an array of `ReturnType<BTNCallback<N>>`.
254
- */
255
- subTreeTraverse<C extends BTNCallback<N>>(callback?: C, beginRoot?: BTNKey | N | null, iterationType?: IterationType): ReturnType<C>[];
256
- /**
257
- * The `dfs` function performs a depth-first search traversal on a binary tree, executing a callback
258
- * function on each node according to a specified order pattern.
259
- * @param callback - The `callback` parameter is a function that will be called on each node during
260
- * the depth-first search traversal. It takes a node as input and returns a value. The default value
261
- * is `this.defaultOneParamCallback`, which is a callback function defined elsewhere in the code.
262
- * @param {DFSOrderPattern} [pattern=in] - The `pattern` parameter determines the order in which the
263
- * nodes are visited during the depth-first search. There are three possible values for `pattern`:
264
- * @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the depth-first
265
- * search. It determines where the search will begin in the tree or graph structure. If `beginRoot`
266
- * is `null`, an empty array will be returned.
267
- * @param {IterationType} iterationType - The `iterationType` parameter determines the type of
268
- * iteration used in the depth-first search algorithm. It can have two possible values:
269
- * @returns The function `dfs` returns an array of `ReturnType<BTNCallback<N>>` values.
270
- */
271
- dfs<C extends BTNCallback<N>>(callback?: C, pattern?: DFSOrderPattern, beginRoot?: N | null, iterationType?: IterationType): ReturnType<C>[];
272
- /**
273
- * The bfs function performs a breadth-first search traversal on a binary tree, executing a callback
274
- * function on each node.
275
- * @param callback - The `callback` parameter is a function that will be called for each node in the
276
- * breadth-first search. It takes a node of type `N` as its argument and returns a value of type
277
- * `ReturnType<BTNCallback<N>>`. The default value for this parameter is `this.defaultOneParamCallback
278
- * @param {N | null} beginRoot - The `beginRoot` parameter is the starting node for the breadth-first
279
- * search. It determines from which node the search will begin. If `beginRoot` is `null`, the search
280
- * will not be performed and an empty array will be returned.
281
- * @param iterationType - The `iterationType` parameter determines the type of iteration to be used
282
- * in the breadth-first search (BFS) algorithm. It can have two possible values:
283
- * @returns The function `bfs` returns an array of `ReturnType<BTNCallback<N>>[]`.
284
- */
285
- bfs<C extends BTNCallback<N>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType): ReturnType<C>[];
286
- /**
287
- * The `listLevels` function takes a binary tree node and a callback function, and returns an array
288
- * of arrays representing the levels of the tree.
289
- * @param {C} callback - The `callback` parameter is a function that will be called on each node in
290
- * the tree. It takes a node as input and returns a value. The return type of the callback function
291
- * is determined by the generic type `C`.
292
- * @param {N | null} beginRoot - The `beginRoot` parameter represents the starting node of the binary tree
293
- * traversal. It can be any node in the binary tree. If no node is provided, the traversal will start
294
- * from the root node of the binary tree.
295
- * @param iterationType - The `iterationType` parameter determines whether the tree traversal is done
296
- * recursively or iteratively. It can have two possible values:
297
- * @returns The function `listLevels` returns an array of arrays, where each inner array represents a
298
- * level in a binary tree. Each inner array contains the return type of the provided callback
299
- * function `C` applied to the nodes at that level.
300
- */
301
- listLevels<C extends BTNCallback<N>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType): ReturnType<C>[][];
241
+ subTreeTraverse<C extends BTNCallback<N>>(callback?: C, beginRoot?: BTNKey | N | null, iterationType?: IterationType, includeNull?: false): ReturnType<C>[];
242
+ subTreeTraverse<C extends BTNCallback<N>>(callback?: C, beginRoot?: BTNKey | N | null, iterationType?: IterationType, includeNull?: undefined): ReturnType<C>[];
243
+ subTreeTraverse<C extends BTNCallback<N | null>>(callback?: C, beginRoot?: BTNKey | N | null, iterationType?: IterationType, includeNull?: true): ReturnType<C>[];
244
+ dfs<C extends BTNCallback<N>>(callback?: C, pattern?: DFSOrderPattern, beginRoot?: N | null, iterationType?: IterationType, includeNull?: false): ReturnType<C>[];
245
+ dfs<C extends BTNCallback<N>>(callback?: C, pattern?: DFSOrderPattern, beginRoot?: N | null, iterationType?: IterationType, includeNull?: undefined): ReturnType<C>[];
246
+ dfs<C extends BTNCallback<N | null>>(callback?: C, pattern?: DFSOrderPattern, beginRoot?: N | null, iterationType?: IterationType, includeNull?: true): ReturnType<C>[];
247
+ bfs<C extends BTNCallback<N>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType, includeNull?: false): ReturnType<C>[];
248
+ bfs<C extends BTNCallback<N>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType, includeNull?: undefined): ReturnType<C>[];
249
+ bfs<C extends BTNCallback<N | null>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType, includeNull?: true): ReturnType<C>[];
250
+ listLevels<C extends BTNCallback<N>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType, includeNull?: false): ReturnType<C>[][];
251
+ listLevels<C extends BTNCallback<N>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType, includeNull?: undefined): ReturnType<C>[][];
252
+ listLevels<C extends BTNCallback<N | null>>(callback?: C, beginRoot?: N | null, iterationType?: IterationType, includeNull?: true): ReturnType<C>[][];
302
253
  /**
303
254
  * The function returns the predecessor node of a given node in a binary tree.
304
255
  * @param {N} node - The parameter "node" represents a node in a binary tree.
@@ -714,9 +714,10 @@ class BinaryTree {
714
714
  * start from the root of the tree.
715
715
  * @param iterationType - The `iterationType` parameter determines the type of traversal to be
716
716
  * performed on the binary tree. It can have two possible values:
717
+ * @param includeNull - The choice to output null values during binary tree traversal should be provided.
717
718
  * @returns The function `subTreeTraverse` returns an array of `ReturnType<BTNCallback<N>>`.
718
719
  */
719
- subTreeTraverse(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
720
+ subTreeTraverse(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType, includeNull = false) {
720
721
  if (typeof beginRoot === 'number')
721
722
  beginRoot = this.getNode(beginRoot);
722
723
  const ans = [];
@@ -724,9 +725,17 @@ class BinaryTree {
724
725
  return ans;
725
726
  if (iterationType === types_1.IterationType.RECURSIVE) {
726
727
  const _traverse = (cur) => {
727
- ans.push(callback(cur));
728
- cur.left && _traverse(cur.left);
729
- cur.right && _traverse(cur.right);
728
+ if (cur !== undefined) {
729
+ ans.push(callback(cur));
730
+ if (includeNull) {
731
+ cur !== null && cur.left !== undefined && _traverse(cur.left);
732
+ cur !== null && cur.right !== undefined && _traverse(cur.right);
733
+ }
734
+ else {
735
+ cur !== null && cur.left && _traverse(cur.left);
736
+ cur !== null && cur.right && _traverse(cur.right);
737
+ }
738
+ }
730
739
  };
731
740
  _traverse(beginRoot);
732
741
  }
@@ -734,9 +743,17 @@ class BinaryTree {
734
743
  const stack = [beginRoot];
735
744
  while (stack.length > 0) {
736
745
  const cur = stack.pop();
737
- ans.push(callback(cur));
738
- cur.right && stack.push(cur.right);
739
- cur.left && stack.push(cur.left);
746
+ if (cur !== undefined) {
747
+ ans.push(callback(cur));
748
+ if (includeNull) {
749
+ cur !== null && cur.right !== undefined && stack.push(cur.right);
750
+ cur !== null && cur.left !== undefined && stack.push(cur.left);
751
+ }
752
+ else {
753
+ cur !== null && cur.right && stack.push(cur.right);
754
+ cur !== null && cur.left && stack.push(cur.left);
755
+ }
756
+ }
740
757
  }
741
758
  }
742
759
  return ans;
@@ -754,9 +771,10 @@ class BinaryTree {
754
771
  * is `null`, an empty array will be returned.
755
772
  * @param {IterationType} iterationType - The `iterationType` parameter determines the type of
756
773
  * iteration used in the depth-first search algorithm. It can have two possible values:
774
+ * @param includeNull - The choice to output null values during binary tree traversal should be provided.
757
775
  * @returns The function `dfs` returns an array of `ReturnType<BTNCallback<N>>` values.
758
776
  */
759
- dfs(callback = this.defaultOneParamCallback, pattern = 'in', beginRoot = this.root, iterationType = types_1.IterationType.ITERATIVE) {
777
+ dfs(callback = this.defaultOneParamCallback, pattern = 'in', beginRoot = this.root, iterationType = types_1.IterationType.ITERATIVE, includeNull = false) {
760
778
  if (!beginRoot)
761
779
  return [];
762
780
  const ans = [];
@@ -764,25 +782,52 @@ class BinaryTree {
764
782
  const _traverse = (node) => {
765
783
  switch (pattern) {
766
784
  case 'in':
767
- if (node.left)
768
- _traverse(node.left);
769
- ans.push(callback(node));
770
- if (node.right)
771
- _traverse(node.right);
785
+ if (includeNull) {
786
+ if (node !== null && node.left !== undefined)
787
+ _traverse(node.left);
788
+ ans.push(callback(node));
789
+ if (node !== null && node.right !== undefined)
790
+ _traverse(node.right);
791
+ }
792
+ else {
793
+ if (node !== null && node.left)
794
+ _traverse(node.left);
795
+ ans.push(callback(node));
796
+ if (node !== null && node.right)
797
+ _traverse(node.right);
798
+ }
772
799
  break;
773
800
  case 'pre':
774
- ans.push(callback(node));
775
- if (node.left)
776
- _traverse(node.left);
777
- if (node.right)
778
- _traverse(node.right);
801
+ if (includeNull) {
802
+ ans.push(callback(node));
803
+ if (node !== null && node.left !== undefined)
804
+ _traverse(node.left);
805
+ if (node !== null && node.right !== undefined)
806
+ _traverse(node.right);
807
+ }
808
+ else {
809
+ ans.push(callback(node));
810
+ if (node !== null && node.left)
811
+ _traverse(node.left);
812
+ if (node !== null && node.right)
813
+ _traverse(node.right);
814
+ }
779
815
  break;
780
816
  case 'post':
781
- if (node.left)
782
- _traverse(node.left);
783
- if (node.right)
784
- _traverse(node.right);
785
- ans.push(callback(node));
817
+ if (includeNull) {
818
+ if (node !== null && node.left !== undefined)
819
+ _traverse(node.left);
820
+ if (node !== null && node.right !== undefined)
821
+ _traverse(node.right);
822
+ ans.push(callback(node));
823
+ }
824
+ else {
825
+ if (node !== null && node.left)
826
+ _traverse(node.left);
827
+ if (node !== null && node.right)
828
+ _traverse(node.right);
829
+ ans.push(callback(node));
830
+ }
786
831
  break;
787
832
  }
788
833
  };
@@ -793,32 +838,40 @@ class BinaryTree {
793
838
  const stack = [{ opt: 0, node: beginRoot }];
794
839
  while (stack.length > 0) {
795
840
  const cur = stack.pop();
796
- if (!cur || !cur.node)
841
+ if (cur === undefined)
797
842
  continue;
843
+ if (includeNull) {
844
+ if (cur.node === undefined)
845
+ continue;
846
+ }
847
+ else {
848
+ if (cur.node === null || cur.node === undefined)
849
+ continue;
850
+ }
798
851
  if (cur.opt === 1) {
799
852
  ans.push(callback(cur.node));
800
853
  }
801
854
  else {
802
855
  switch (pattern) {
803
856
  case 'in':
804
- stack.push({ opt: 0, node: cur.node.right });
857
+ cur.node && stack.push({ opt: 0, node: cur.node.right });
805
858
  stack.push({ opt: 1, node: cur.node });
806
- stack.push({ opt: 0, node: cur.node.left });
859
+ cur.node && stack.push({ opt: 0, node: cur.node.left });
807
860
  break;
808
861
  case 'pre':
809
- stack.push({ opt: 0, node: cur.node.right });
810
- stack.push({ opt: 0, node: cur.node.left });
862
+ cur.node && stack.push({ opt: 0, node: cur.node.right });
863
+ cur.node && stack.push({ opt: 0, node: cur.node.left });
811
864
  stack.push({ opt: 1, node: cur.node });
812
865
  break;
813
866
  case 'post':
814
867
  stack.push({ opt: 1, node: cur.node });
815
- stack.push({ opt: 0, node: cur.node.right });
816
- stack.push({ opt: 0, node: cur.node.left });
868
+ cur.node && stack.push({ opt: 0, node: cur.node.right });
869
+ cur.node && stack.push({ opt: 0, node: cur.node.left });
817
870
  break;
818
871
  default:
819
- stack.push({ opt: 0, node: cur.node.right });
872
+ cur.node && stack.push({ opt: 0, node: cur.node.right });
820
873
  stack.push({ opt: 1, node: cur.node });
821
- stack.push({ opt: 0, node: cur.node.left });
874
+ cur.node && stack.push({ opt: 0, node: cur.node.left });
822
875
  break;
823
876
  }
824
877
  }
@@ -837,9 +890,10 @@ class BinaryTree {
837
890
  * will not be performed and an empty array will be returned.
838
891
  * @param iterationType - The `iterationType` parameter determines the type of iteration to be used
839
892
  * in the breadth-first search (BFS) algorithm. It can have two possible values:
893
+ * @param includeNull - The choice to output null values during binary tree traversal should be provided.
840
894
  * @returns The function `bfs` returns an array of `ReturnType<BTNCallback<N>>[]`.
841
895
  */
842
- bfs(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
896
+ bfs(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType, includeNull = false) {
843
897
  if (!beginRoot)
844
898
  return [];
845
899
  const ans = [];
@@ -850,10 +904,18 @@ class BinaryTree {
850
904
  return;
851
905
  const current = queue.shift();
852
906
  ans.push(callback(current));
853
- if (current.left)
854
- queue.push(current.left);
855
- if (current.right)
856
- queue.push(current.right);
907
+ if (includeNull) {
908
+ if (current && current.left !== undefined)
909
+ queue.push(current.left);
910
+ if (current && current.right !== undefined)
911
+ queue.push(current.right);
912
+ }
913
+ else {
914
+ if (current.left)
915
+ queue.push(current.left);
916
+ if (current.right)
917
+ queue.push(current.right);
918
+ }
857
919
  traverse(level + 1);
858
920
  };
859
921
  traverse(0);
@@ -865,10 +927,18 @@ class BinaryTree {
865
927
  for (let i = 0; i < levelSize; i++) {
866
928
  const current = queue.shift();
867
929
  ans.push(callback(current));
868
- if (current.left)
869
- queue.push(current.left);
870
- if (current.right)
871
- queue.push(current.right);
930
+ if (includeNull) {
931
+ if (current !== null && current.left !== undefined)
932
+ queue.push(current.left);
933
+ if (current !== null && current.right !== undefined)
934
+ queue.push(current.right);
935
+ }
936
+ else {
937
+ if (current.left)
938
+ queue.push(current.left);
939
+ if (current.right)
940
+ queue.push(current.right);
941
+ }
872
942
  }
873
943
  }
874
944
  }
@@ -885,11 +955,12 @@ class BinaryTree {
885
955
  * from the root node of the binary tree.
886
956
  * @param iterationType - The `iterationType` parameter determines whether the tree traversal is done
887
957
  * recursively or iteratively. It can have two possible values:
958
+ * @param includeNull - The choice to output null values during binary tree traversal should be provided.
888
959
  * @returns The function `listLevels` returns an array of arrays, where each inner array represents a
889
960
  * level in a binary tree. Each inner array contains the return type of the provided callback
890
961
  * function `C` applied to the nodes at that level.
891
962
  */
892
- listLevels(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType) {
963
+ listLevels(callback = this.defaultOneParamCallback, beginRoot = this.root, iterationType = this.iterationType, includeNull = false) {
893
964
  if (!beginRoot)
894
965
  return [];
895
966
  const levelsNodes = [];
@@ -898,10 +969,18 @@ class BinaryTree {
898
969
  if (!levelsNodes[level])
899
970
  levelsNodes[level] = [];
900
971
  levelsNodes[level].push(callback(node));
901
- if (node.left)
902
- _recursive(node.left, level + 1);
903
- if (node.right)
904
- _recursive(node.right, level + 1);
972
+ if (includeNull) {
973
+ if (node && node.left !== undefined)
974
+ _recursive(node.left, level + 1);
975
+ if (node && node.right !== undefined)
976
+ _recursive(node.right, level + 1);
977
+ }
978
+ else {
979
+ if (node && node.left)
980
+ _recursive(node.left, level + 1);
981
+ if (node && node.right)
982
+ _recursive(node.right, level + 1);
983
+ }
905
984
  };
906
985
  _recursive(beginRoot, 0);
907
986
  }
@@ -913,10 +992,18 @@ class BinaryTree {
913
992
  if (!levelsNodes[level])
914
993
  levelsNodes[level] = [];
915
994
  levelsNodes[level].push(callback(node));
916
- if (node.right)
917
- stack.push([node.right, level + 1]);
918
- if (node.left)
919
- stack.push([node.left, level + 1]);
995
+ if (includeNull) {
996
+ if (node && node.right !== undefined)
997
+ stack.push([node.right, level + 1]);
998
+ if (node && node.left !== undefined)
999
+ stack.push([node.left, level + 1]);
1000
+ }
1001
+ else {
1002
+ if (node && node.right)
1003
+ stack.push([node.right, level + 1]);
1004
+ if (node && node.left)
1005
+ stack.push([node.left, level + 1]);
1006
+ }
920
1007
  }
921
1008
  }
922
1009
  return levelsNodes;
@@ -114,9 +114,10 @@ export declare abstract class AbstractGraph<V = any, E = any, VO extends Abstrac
114
114
  * @param {VO | VertexKey} v1 - The parameter `v1` represents either a vertex object (`VO`) or a vertex ID (`VertexKey`).
115
115
  * It is the starting vertex for finding paths.
116
116
  * @param {VO | VertexKey} v2 - The parameter `v2` represents either a vertex object (`VO`) or a vertex ID (`VertexKey`).
117
+ * @param limit - The count of limitation of result array.
117
118
  * @returns The function `getAllPathsBetween` returns an array of arrays of vertices (`VO[][]`).
118
119
  */
119
- getAllPathsBetween(v1: VO | VertexKey, v2: VO | VertexKey): VO[][];
120
+ getAllPathsBetween(v1: VO | VertexKey, v2: VO | VertexKey, limit?: number): VO[][];
120
121
  /**
121
122
  * The function calculates the sum of weights along a given path.
122
123
  * @param {VO[]} path - An array of vertices (VO) representing a path in a graph.
@@ -148,10 +149,13 @@ export declare abstract class AbstractGraph<V = any, E = any, VO extends Abstrac
148
149
  * @param {boolean} [isWeight] - A boolean flag indicating whether to consider the weight of edges in finding the
149
150
  * minimum path. If set to true, the function will use Dijkstra's algorithm to find the minimum weighted path. If set
150
151
  * to false, the function will use breadth-first search (BFS) to find the minimum path.
152
+ * @param isDFS - If set to true, it enforces the use of getAllPathsBetween to first obtain all possible paths,
153
+ * followed by iterative computation of the shortest path. This approach may result in exponential time complexity,
154
+ * so the default method is to use the Dijkstra algorithm to obtain the shortest weighted path.
151
155
  * @returns The function `getMinPathBetween` returns an array of vertices (`VO[]`) representing the minimum path between
152
156
  * two vertices (`v1` and `v2`). If there is no path between the vertices, it returns `null`.
153
157
  */
154
- getMinPathBetween(v1: VO | VertexKey, v2: VO | VertexKey, isWeight?: boolean): VO[] | null;
158
+ getMinPathBetween(v1: VO | VertexKey, v2: VO | VertexKey, isWeight?: boolean, isDFS?: boolean): VO[] | null;
155
159
  /**
156
160
  * Dijkstra algorithm time: O(VE) space: O(VO + EO)
157
161
  * /