data-structure-typed 1.18.5 → 1.18.6

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 (135) hide show
  1. package/dist/data-structures/binary-tree/abstract-binary-tree.d.ts +333 -0
  2. package/dist/data-structures/binary-tree/abstract-binary-tree.js +1455 -0
  3. package/dist/data-structures/binary-tree/avl-tree.d.ts +3 -2
  4. package/dist/data-structures/binary-tree/avl-tree.js +2 -2
  5. package/dist/data-structures/binary-tree/binary-tree.d.ts +6 -334
  6. package/dist/data-structures/binary-tree/binary-tree.js +26 -1436
  7. package/dist/data-structures/binary-tree/bst.d.ts +5 -12
  8. package/dist/data-structures/binary-tree/bst.js +31 -36
  9. package/dist/data-structures/binary-tree/index.d.ts +1 -0
  10. package/dist/data-structures/binary-tree/index.js +1 -0
  11. package/dist/data-structures/binary-tree/rb-tree.js +2 -6
  12. package/dist/data-structures/binary-tree/tree-multiset.d.ts +8 -23
  13. package/dist/data-structures/binary-tree/tree-multiset.js +26 -29
  14. package/dist/data-structures/graph/directed-graph.d.ts +2 -4
  15. package/dist/data-structures/graph/directed-graph.js +3 -7
  16. package/dist/data-structures/graph/undirected-graph.d.ts +13 -11
  17. package/dist/data-structures/graph/undirected-graph.js +14 -14
  18. package/dist/data-structures/interfaces/binary-tree.d.ts +1 -2
  19. package/dist/data-structures/types/abstract-binary-tree.d.ts +32 -0
  20. package/dist/data-structures/types/abstract-binary-tree.js +21 -0
  21. package/dist/data-structures/types/avl-tree.d.ts +2 -4
  22. package/dist/data-structures/types/binary-tree.d.ts +2 -10
  23. package/dist/data-structures/types/bst.d.ts +10 -5
  24. package/dist/data-structures/types/bst.js +7 -0
  25. package/dist/data-structures/types/helpers.d.ts +8 -0
  26. package/dist/data-structures/types/helpers.js +2 -0
  27. package/dist/data-structures/types/index.d.ts +3 -0
  28. package/dist/data-structures/types/index.js +3 -0
  29. package/dist/data-structures/types/rb-tree.d.ts +6 -0
  30. package/dist/data-structures/types/rb-tree.js +8 -0
  31. package/dist/data-structures/types/tree-multiset.d.ts +5 -3
  32. package/docs/assets/search.js +1 -1
  33. package/docs/classes/AVLTree.html +152 -152
  34. package/docs/classes/AVLTreeNode.html +38 -27
  35. package/docs/classes/AaTree.html +18 -7
  36. package/docs/classes/AbstractBinaryTree.html +2023 -0
  37. package/docs/classes/AbstractBinaryTreeNode.html +491 -0
  38. package/docs/classes/AbstractEdge.html +28 -17
  39. package/docs/classes/AbstractGraph.html +52 -41
  40. package/docs/classes/AbstractVertex.html +25 -14
  41. package/docs/classes/ArrayDeque.html +31 -20
  42. package/docs/classes/BST.html +140 -134
  43. package/docs/classes/BSTNode.html +40 -28
  44. package/docs/classes/BTree.html +18 -7
  45. package/docs/classes/BinaryIndexedTree.html +26 -15
  46. package/docs/classes/BinaryTree.html +447 -446
  47. package/docs/classes/BinaryTreeNode.html +107 -135
  48. package/docs/classes/Character.html +21 -10
  49. package/docs/classes/CoordinateMap.html +26 -15
  50. package/docs/classes/CoordinateSet.html +25 -14
  51. package/docs/classes/Deque.html +51 -40
  52. package/docs/classes/DirectedEdge.html +32 -21
  53. package/docs/classes/DirectedGraph.html +73 -147
  54. package/docs/classes/DirectedVertex.html +23 -12
  55. package/docs/classes/DoublyLinkedList.html +54 -43
  56. package/docs/classes/DoublyLinkedListNode.html +28 -17
  57. package/docs/classes/HashTable.html +18 -7
  58. package/docs/classes/Heap.html +32 -21
  59. package/docs/classes/HeapItem.html +25 -14
  60. package/docs/classes/Matrix2D.html +33 -22
  61. package/docs/classes/MatrixNTI2D.html +21 -10
  62. package/docs/classes/MaxHeap.html +32 -21
  63. package/docs/classes/MaxPriorityQueue.html +51 -40
  64. package/docs/classes/MinHeap.html +32 -21
  65. package/docs/classes/MinPriorityQueue.html +51 -40
  66. package/docs/classes/Navigator.html +27 -16
  67. package/docs/classes/ObjectDeque.html +42 -31
  68. package/docs/classes/Pair.html +18 -7
  69. package/docs/classes/PriorityQueue.html +49 -38
  70. package/docs/classes/Queue.html +31 -20
  71. package/docs/classes/SegmentTree.html +34 -23
  72. package/docs/classes/SegmentTreeNode.html +37 -26
  73. package/docs/classes/SinglyLinkedList.html +51 -40
  74. package/docs/classes/SinglyLinkedListNode.html +25 -14
  75. package/docs/classes/SkipLinkedList.html +18 -7
  76. package/docs/classes/SplayTree.html +18 -7
  77. package/docs/classes/Stack.html +29 -18
  78. package/docs/classes/TreeMap.html +18 -7
  79. package/docs/classes/TreeMultiSet.html +180 -173
  80. package/docs/classes/TreeMultiSetNode.html +450 -0
  81. package/docs/classes/TreeNode.html +33 -22
  82. package/docs/classes/TreeSet.html +18 -7
  83. package/docs/classes/Trie.html +30 -19
  84. package/docs/classes/TrieNode.html +28 -17
  85. package/docs/classes/TwoThreeTree.html +18 -7
  86. package/docs/classes/UndirectedEdge.html +29 -18
  87. package/docs/classes/UndirectedGraph.html +80 -142
  88. package/docs/classes/UndirectedVertex.html +23 -12
  89. package/docs/classes/Vector2D.html +45 -34
  90. package/docs/enums/CP.html +24 -13
  91. package/docs/enums/FamilyPosition.html +36 -25
  92. package/docs/enums/LoopType.html +30 -19
  93. package/docs/enums/RBColor.html +168 -0
  94. package/docs/enums/TopologicalProperty.html +21 -10
  95. package/docs/index.html +17 -6
  96. package/docs/interfaces/IBinaryTree.html +20 -8
  97. package/docs/interfaces/IBinaryTreeNode.html +41 -28
  98. package/docs/interfaces/IDirectedGraph.html +24 -13
  99. package/docs/interfaces/IGraph.html +37 -26
  100. package/docs/interfaces/IUNDirectedGraph.html +18 -7
  101. package/docs/modules.html +34 -12
  102. package/docs/types/{AVLTreeDeleted.html → AVLTreeOptions.html} +23 -21
  103. package/docs/types/AbstractBinaryTreeOptions.html +150 -0
  104. package/docs/types/AbstractRecursiveBinaryTreeNode.html +146 -0
  105. package/docs/types/{ResultsByProperty.html → AbstractResultByProperty.html} +23 -12
  106. package/docs/types/{TreeMultiSetDeletedResult.html → AbstractResultsByProperty.html} +23 -19
  107. package/docs/types/BSTComparator.html +18 -7
  108. package/docs/types/BSTOptions.html +146 -0
  109. package/docs/types/BinaryTreeDeletedResult.html +153 -0
  110. package/docs/types/BinaryTreeNodeId.html +18 -7
  111. package/docs/types/BinaryTreeNodePropertyName.html +18 -7
  112. package/docs/types/{BinaryTreeDeleted.html → BinaryTreeOptions.html} +23 -21
  113. package/docs/types/DFSOrderPattern.html +18 -7
  114. package/docs/types/DijkstraResult.html +18 -7
  115. package/docs/types/Direction.html +18 -7
  116. package/docs/types/EdgeId.html +18 -7
  117. package/docs/types/HeapOptions.html +18 -7
  118. package/docs/types/IdObject.html +151 -0
  119. package/docs/types/{ResultByProperty.html → KeyValObject.html} +27 -16
  120. package/docs/types/NavigatorParams.html +18 -7
  121. package/docs/types/NodeOrPropertyName.html +18 -7
  122. package/docs/types/PriorityQueueComparator.html +18 -7
  123. package/docs/types/PriorityQueueDFSOrderPattern.html +18 -7
  124. package/docs/types/PriorityQueueOptions.html +18 -7
  125. package/docs/types/{BSTDeletedResult.html → RBTreeOptions.html} +23 -21
  126. package/docs/types/RecursiveAVLTreeNode.html +18 -7
  127. package/docs/types/RecursiveBSTNode.html +18 -7
  128. package/docs/types/RecursiveBinaryTreeNode.html +18 -7
  129. package/docs/types/RecursiveTreeMultiSetNode.html +146 -0
  130. package/docs/types/SegmentTreeNodeVal.html +18 -7
  131. package/docs/types/TopologicalStatus.html +18 -7
  132. package/docs/types/TreeMultiSetOptions.html +146 -0
  133. package/docs/types/Turning.html +18 -7
  134. package/docs/types/VertexId.html +18 -7
  135. package/package.json +1 -1
@@ -1,12 +1,4 @@
1
1
  import { BinaryTreeNode } from '../binary-tree';
2
- export type BinaryTreeNodePropertyName = 'id' | 'val' | 'count';
3
- export type NodeOrPropertyName = 'node' | BinaryTreeNodePropertyName;
4
- export type DFSOrderPattern = 'in' | 'pre' | 'post';
5
- export type BinaryTreeNodeId = number;
6
- export type BinaryTreeDeleted<N> = {
7
- deleted: N | null | undefined;
8
- needBalanced: N | null;
9
- };
10
- export type ResultByProperty<N extends BinaryTreeNode<N['val'], N>> = N['val'] | N | number | BinaryTreeNodeId;
11
- export type ResultsByProperty<N extends BinaryTreeNode<N['val'], N>> = ResultByProperty<N>[];
2
+ import { AbstractBinaryTreeOptions } from './abstract-binary-tree';
12
3
  export type RecursiveBinaryTreeNode<T> = BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, BinaryTreeNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
4
+ export type BinaryTreeOptions = AbstractBinaryTreeOptions & {};
@@ -1,8 +1,13 @@
1
1
  import { BSTNode } from '../binary-tree';
2
- import type { BinaryTreeNodeId } from './binary-tree';
2
+ import type { BinaryTreeOptions } from './binary-tree';
3
+ import { BinaryTreeNodeId } from './abstract-binary-tree';
3
4
  export type BSTComparator = (a: BinaryTreeNodeId, b: BinaryTreeNodeId) => number;
4
- export type BSTDeletedResult<N extends BSTNode<N['val'], N>> = {
5
- deleted: N | null;
6
- needBalanced: N | null;
7
- };
8
5
  export type RecursiveBSTNode<T> = BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, BSTNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
6
+ export type BSTOptions = BinaryTreeOptions & {
7
+ comparator?: BSTComparator;
8
+ };
9
+ export declare enum CP {
10
+ lt = "lt",
11
+ eq = "eq",
12
+ gt = "gt"
13
+ }
@@ -1,2 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CP = void 0;
4
+ var CP;
5
+ (function (CP) {
6
+ CP["lt"] = "lt";
7
+ CP["eq"] = "eq";
8
+ CP["gt"] = "gt";
9
+ })(CP || (exports.CP = CP = {}));
@@ -0,0 +1,8 @@
1
+ export type IdObject = {
2
+ id: number;
3
+ } & {
4
+ [key: string]: any;
5
+ };
6
+ export type KeyValObject = {
7
+ [key: string]: any;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -4,9 +4,12 @@ export * from './avl-tree';
4
4
  export * from './segment-tree';
5
5
  export * from './tree-multiset';
6
6
  export * from './abstract-graph';
7
+ export * from './abstract-binary-tree';
8
+ export * from './rb-tree';
7
9
  export * from './directed-graph';
8
10
  export * from './priority-queue';
9
11
  export * from './heap';
10
12
  export * from './singly-linked-list';
11
13
  export * from './doubly-linked-list';
12
14
  export * from './navigator';
15
+ export * from './helpers';
@@ -20,9 +20,12 @@ __exportStar(require("./avl-tree"), exports);
20
20
  __exportStar(require("./segment-tree"), exports);
21
21
  __exportStar(require("./tree-multiset"), exports);
22
22
  __exportStar(require("./abstract-graph"), exports);
23
+ __exportStar(require("./abstract-binary-tree"), exports);
24
+ __exportStar(require("./rb-tree"), exports);
23
25
  __exportStar(require("./directed-graph"), exports);
24
26
  __exportStar(require("./priority-queue"), exports);
25
27
  __exportStar(require("./heap"), exports);
26
28
  __exportStar(require("./singly-linked-list"), exports);
27
29
  __exportStar(require("./doubly-linked-list"), exports);
28
30
  __exportStar(require("./navigator"), exports);
31
+ __exportStar(require("./helpers"), exports);
@@ -0,0 +1,6 @@
1
+ import { BinaryTreeOptions } from './binary-tree';
2
+ export declare enum RBColor {
3
+ RED = "RED",
4
+ BLACK = "BLACK"
5
+ }
6
+ export type RBTreeOptions = BinaryTreeOptions & {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RBColor = void 0;
4
+ var RBColor;
5
+ (function (RBColor) {
6
+ RBColor["RED"] = "RED";
7
+ RBColor["BLACK"] = "BLACK";
8
+ })(RBColor || (exports.RBColor = RBColor = {}));
@@ -1,4 +1,6 @@
1
- export type TreeMultiSetDeletedResult<N> = {
2
- deleted: N | null;
3
- needBalanced: N | null;
1
+ import { BSTOptions } from './bst';
2
+ import { TreeMultiSetNode } from '../binary-tree';
3
+ export type RecursiveTreeMultiSetNode<T> = TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, TreeMultiSetNode<T, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
4
+ export type TreeMultiSetOptions = Omit<BSTOptions, 'isDuplicatedVal'> & {
5
+ isDuplicatedVal: true;
4
6
  };