tree-multimap-typed 2.2.0 → 2.2.2

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 (31) hide show
  1. package/dist/cjs/index.cjs +9 -9
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +9 -9
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +9 -9
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +9 -9
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +3 -1
  10. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +1 -0
  11. package/dist/types/data-structures/binary-tree/bst.d.ts +1 -0
  12. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +1 -0
  13. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1 -0
  14. package/dist/types/types/data-structures/base/base.d.ts +1 -1
  15. package/dist/umd/tree-multimap-typed.js +9 -9
  16. package/dist/umd/tree-multimap-typed.js.map +1 -1
  17. package/dist/umd/tree-multimap-typed.min.js +2 -2
  18. package/dist/umd/tree-multimap-typed.min.js.map +1 -1
  19. package/package.json +2 -2
  20. package/src/data-structures/base/iterable-entry-base.ts +4 -4
  21. package/src/data-structures/binary-tree/avl-tree-counter.ts +1 -1
  22. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +1 -1
  23. package/src/data-structures/binary-tree/avl-tree.ts +4 -2
  24. package/src/data-structures/binary-tree/binary-tree.ts +3 -2
  25. package/src/data-structures/binary-tree/bst.ts +2 -1
  26. package/src/data-structures/binary-tree/red-black-tree.ts +2 -1
  27. package/src/data-structures/binary-tree/tree-counter.ts +1 -1
  28. package/src/data-structures/binary-tree/tree-multi-map.ts +2 -1
  29. package/src/data-structures/graph/abstract-graph.ts +3 -3
  30. package/src/data-structures/hash/hash-map.ts +4 -4
  31. package/src/types/data-structures/base/base.ts +1 -1
@@ -125,7 +125,9 @@ export declare class AVLTreeNode<K = any, V = any> {
125
125
  * 4. Order Preservation: Maintains the binary search tree property where left child values are less than the parent, and right child values are greater.
126
126
  * 5. Efficient Lookups: Offers O(log n) search time, where 'n' is the number of nodes, due to its balanced nature.
127
127
  * 6. Complex Insertions and Deletions: Due to rebalancing, these operations are more complex than in a regular BST.
128
- * 7. Path Length: The path length from the root to any leaf is longer compared to an unbalanced BST, but shorter than a linear chain of nodes.@example
128
+ * 7. Path Length: The path length from the root to any leaf is longer compared to an unbalanced BST, but shorter than a linear chain of nodes.
129
+ *
130
+ * @example
129
131
  * // Find elements in a range
130
132
  * // In interval queries, AVL trees, with their strictly balanced structure and lower height, offer better query efficiency, making them ideal for frequent and high-performance interval queries. In contrast, Red-Black trees, with lower update costs, are more suitable for scenarios involving frequent insertions and deletions where the requirements for interval queries are less demanding.
131
133
  * type Datum = { timestamp: Date; temperature: number };
@@ -123,6 +123,7 @@ export declare class BinaryTreeNode<K = any, V = any> {
123
123
  * 3. Depth and Height: Depth is the number of edges from the root to a node; height is the maximum depth in the tree.
124
124
  * 4. Subtrees: Each child of a node forms the root of a subtree.
125
125
  * 5. Leaf Nodes: Nodes without children are leaves.
126
+ *
126
127
  * @example
127
128
  * // determine loan approval using a decision tree
128
129
  * // Decision tree structure
@@ -124,6 +124,7 @@ export declare class BSTNode<K = any, V = any> {
124
124
  * 5. Logarithmic Operations: Ideal operations like insertion, deletion, and searching are O(log n) time-efficient.
125
125
  * 6. Balance Variability: Can become unbalanced; special types maintain balance.
126
126
  * 7. No Auto-Balancing: Standard BSTs don't automatically balance themselves.
127
+ *
127
128
  * @example
128
129
  * // Merge 3 sorted datasets
129
130
  * const dataset1 = new BST<number, string>([
@@ -110,6 +110,7 @@ export declare class RedBlackTreeNode<K = any, V = any> {
110
110
  * @template R
111
111
  * 1. Efficient self-balancing, but not completely balanced. Compared with AVLTree, the addition and deletion efficiency is high, but the query efficiency is slightly lower.
112
112
  * 2. It is BST itself. Compared with Heap which is not completely ordered, RedBlackTree is completely ordered.
113
+ *
113
114
  * @example
114
115
  * // using Red-Black Tree as a price-based index for stock data
115
116
  * // Define the structure of individual stock records
@@ -113,6 +113,7 @@ export declare class TreeMultiMapNode<K = any, V = any> {
113
113
  * @template K
114
114
  * @template V
115
115
  * @template R
116
+ *
116
117
  * @example
117
118
  * // players ranked by score with their equipment
118
119
  * type Equipment = {
@@ -1,6 +1,6 @@
1
1
  import { IterableElementBase, IterableEntryBase } from '../../../data-structures';
2
2
  import { LinearBase } from '../../../data-structures/base/linear-base';
3
- export type EntryCallback<K, V, R> = (key: K, value: V, index: number, original: IterableEntryBase<K, V>) => R;
3
+ export type EntryCallback<K, V, R> = (value: V, key: K, index: number, original: IterableEntryBase<K, V>) => R;
4
4
  export type ElementCallback<E, R, RT> = (element: E, index: number, original: IterableElementBase<E, R>) => RT;
5
5
  export type ReduceEntryCallback<K, V, R> = (accumulator: R, value: V, key: K, index: number, original: IterableEntryBase<K, V>) => R;
6
6
  export type ReduceElementCallback<E, R, U = E> = (accumulator: U, value: E, index: number, self: IterableElementBase<E, R>) => U;
@@ -913,7 +913,7 @@ var treeMultimapTyped = (() => {
913
913
  every(predicate, thisArg) {
914
914
  let index = 0;
915
915
  for (const item of this) {
916
- if (!predicate.call(thisArg, item[0], item[1], index++, this)) {
916
+ if (!predicate.call(thisArg, item[1], item[0], index++, this)) {
917
917
  return false;
918
918
  }
919
919
  }
@@ -929,7 +929,7 @@ var treeMultimapTyped = (() => {
929
929
  some(predicate, thisArg) {
930
930
  let index = 0;
931
931
  for (const item of this) {
932
- if (predicate.call(thisArg, item[0], item[1], index++, this)) {
932
+ if (predicate.call(thisArg, item[1], item[0], index++, this)) {
933
933
  return true;
934
934
  }
935
935
  }
@@ -945,7 +945,7 @@ var treeMultimapTyped = (() => {
945
945
  let index = 0;
946
946
  for (const item of this) {
947
947
  const [key, value] = item;
948
- callbackfn.call(thisArg, key, value, index++, this);
948
+ callbackfn.call(thisArg, value, key, index++, this);
949
949
  }
950
950
  }
951
951
  /**
@@ -959,7 +959,7 @@ var treeMultimapTyped = (() => {
959
959
  let index = 0;
960
960
  for (const item of this) {
961
961
  const [key, value] = item;
962
- if (callbackfn.call(thisArg, key, value, index++, this)) return item;
962
+ if (callbackfn.call(thisArg, value, key, index++, this)) return item;
963
963
  }
964
964
  return;
965
965
  }
@@ -2210,7 +2210,7 @@ var treeMultimapTyped = (() => {
2210
2210
  filter(predicate, thisArg) {
2211
2211
  const out = this._createInstance();
2212
2212
  let i = 0;
2213
- for (const [k, v] of this) if (predicate.call(thisArg, k, v, i++, this)) out.add([k, v]);
2213
+ for (const [k, v] of this) if (predicate.call(thisArg, v, k, i++, this)) out.add([k, v]);
2214
2214
  return out;
2215
2215
  }
2216
2216
  /**
@@ -2228,7 +2228,7 @@ var treeMultimapTyped = (() => {
2228
2228
  map(cb, options, thisArg) {
2229
2229
  const out = this._createLike([], options);
2230
2230
  let i = 0;
2231
- for (const [k, v] of this) out.add(cb.call(thisArg, k, v, i++, this));
2231
+ for (const [k, v] of this) out.add(cb.call(thisArg, v, k, i++, this));
2232
2232
  return out;
2233
2233
  }
2234
2234
  /**
@@ -3324,7 +3324,7 @@ var treeMultimapTyped = (() => {
3324
3324
  const out = this._createLike([], options);
3325
3325
  let index = 0;
3326
3326
  for (const [key, value] of this) {
3327
- out.add(callback.call(thisArg, key, value, index++, this));
3327
+ out.add(callback.call(thisArg, value, key, index++, this));
3328
3328
  }
3329
3329
  return out;
3330
3330
  }
@@ -3762,7 +3762,7 @@ var treeMultimapTyped = (() => {
3762
3762
  const out = this._createLike([], options);
3763
3763
  let index = 0;
3764
3764
  for (const [key, value] of this) {
3765
- out.add(callback.call(thisArg, key, value, index++, this));
3765
+ out.add(callback.call(thisArg, value, key, index++, this));
3766
3766
  }
3767
3767
  return out;
3768
3768
  }
@@ -4244,7 +4244,7 @@ var treeMultimapTyped = (() => {
4244
4244
  map(callback, options, thisArg) {
4245
4245
  const out = this._createLike([], options);
4246
4246
  let i = 0;
4247
- for (const [k, v] of this) out.add(callback.call(thisArg, k, v, i++, this));
4247
+ for (const [k, v] of this) out.add(callback.call(thisArg, v, k, i++, this));
4248
4248
  return out;
4249
4249
  }
4250
4250
  /**