data-structure-typed 1.48.8 → 1.49.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.
- package/CHANGELOG.md +1 -1
- package/README.md +58 -55
- package/README_zh-CN.md +58 -56
- package/benchmark/report.html +1 -46
- package/benchmark/report.json +23 -458
- package/dist/cjs/data-structures/binary-tree/avl-tree.d.ts +8 -1
- package/dist/cjs/data-structures/binary-tree/avl-tree.js +9 -0
- package/dist/cjs/data-structures/binary-tree/avl-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +15 -10
- package/dist/cjs/data-structures/binary-tree/binary-tree.js +55 -49
- package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/bst.d.ts +8 -1
- package/dist/cjs/data-structures/binary-tree/bst.js +9 -0
- package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +10 -16
- package/dist/cjs/data-structures/binary-tree/rb-tree.js +16 -29
- package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
- package/dist/cjs/data-structures/binary-tree/tree-multimap.d.ts +8 -1
- package/dist/cjs/data-structures/binary-tree/tree-multimap.js +9 -0
- package/dist/cjs/data-structures/binary-tree/tree-multimap.js.map +1 -1
- package/dist/cjs/data-structures/queue/deque.d.ts +0 -110
- package/dist/cjs/data-structures/queue/deque.js +1 -172
- package/dist/cjs/data-structures/queue/deque.js.map +1 -1
- package/dist/mjs/data-structures/binary-tree/avl-tree.d.ts +8 -1
- package/dist/mjs/data-structures/binary-tree/avl-tree.js +9 -0
- package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +15 -10
- package/dist/mjs/data-structures/binary-tree/binary-tree.js +55 -49
- package/dist/mjs/data-structures/binary-tree/bst.d.ts +8 -1
- package/dist/mjs/data-structures/binary-tree/bst.js +9 -0
- package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +10 -16
- package/dist/mjs/data-structures/binary-tree/rb-tree.js +16 -28
- package/dist/mjs/data-structures/binary-tree/tree-multimap.d.ts +8 -1
- package/dist/mjs/data-structures/binary-tree/tree-multimap.js +9 -0
- package/dist/mjs/data-structures/queue/deque.d.ts +0 -110
- package/dist/mjs/data-structures/queue/deque.js +0 -170
- package/dist/umd/data-structure-typed.js +94 -239
- package/dist/umd/data-structure-typed.min.js +2 -2
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +1 -1
- package/src/data-structures/binary-tree/avl-tree.ts +11 -1
- package/src/data-structures/binary-tree/binary-tree.ts +65 -56
- package/src/data-structures/binary-tree/bst.ts +11 -1
- package/src/data-structures/binary-tree/rb-tree.ts +18 -32
- package/src/data-structures/binary-tree/tree-multimap.ts +17 -1
- package/src/data-structures/queue/deque.ts +1 -191
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +15 -8
- package/test/unit/data-structures/binary-tree/bst.test.ts +1 -1
- package/test/unit/data-structures/binary-tree/rb-tree.test.ts +5 -5
- package/test/unit/data-structures/queue/deque.test.ts +265 -367
- package/test/unit/data-structures/queue/queue.test.ts +158 -158
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rb-tree.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/rb-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @license MIT License
|
|
7
7
|
*/
|
|
8
8
|
import type { BSTNodeKeyOrNode, BTNodeExemplar, TreeMultimapNodeNested, TreeMultimapOptions } from '../../types';
|
|
9
|
-
import { BiTreeDeleteResult, BTNCallback, IterationType, TreeMultimapNested } from '../../types';
|
|
9
|
+
import { BiTreeDeleteResult, BTNCallback, BTNodeKeyOrNode, IterationType, TreeMultimapNested } from '../../types';
|
|
10
10
|
import { IBinaryTree } from '../../interfaces';
|
|
11
11
|
import { AVLTree, AVLTreeNode } from './avl-tree';
|
|
12
12
|
export declare class TreeMultimapNode<K = any, V = any, N extends TreeMultimapNode<K, V, N> = TreeMultimapNodeNested<K, V>> extends AVLTreeNode<K, V, N> {
|
|
@@ -48,6 +48,13 @@ export declare class TreeMultimap<K = any, V = any, N extends TreeMultimapNode<K
|
|
|
48
48
|
* class.
|
|
49
49
|
*/
|
|
50
50
|
isNode(exemplar: BTNodeExemplar<K, V, N>): exemplar is N;
|
|
51
|
+
/**
|
|
52
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
53
|
+
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
54
|
+
* data type.
|
|
55
|
+
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
56
|
+
*/
|
|
57
|
+
isNotNodeInstance(potentialKey: BTNodeKeyOrNode<K, N>): potentialKey is K;
|
|
51
58
|
/**
|
|
52
59
|
* The function `exemplarToNode` converts an exemplar object into a node object.
|
|
53
60
|
* @param exemplar - The `exemplar` parameter is of type `BTNodeExemplar<K, V, N>`, which means it
|
|
@@ -60,6 +60,15 @@ class TreeMultimap extends avl_tree_1.AVLTree {
|
|
|
60
60
|
isNode(exemplar) {
|
|
61
61
|
return exemplar instanceof TreeMultimapNode;
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
65
|
+
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
66
|
+
* data type.
|
|
67
|
+
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
68
|
+
*/
|
|
69
|
+
isNotNodeInstance(potentialKey) {
|
|
70
|
+
return !(potentialKey instanceof TreeMultimapNode);
|
|
71
|
+
}
|
|
63
72
|
/**
|
|
64
73
|
* The function `exemplarToNode` converts an exemplar object into a node object.
|
|
65
74
|
* @param exemplar - The `exemplar` parameter is of type `BTNodeExemplar<K, V, N>`, which means it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-multimap.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/tree-multimap.ts"],"names":[],"mappings":";;;AAQA,
|
|
1
|
+
{"version":3,"file":"tree-multimap.js","sourceRoot":"","sources":["../../../../src/data-structures/binary-tree/tree-multimap.ts"],"names":[],"mappings":"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"}
|
|
@@ -439,113 +439,3 @@ export declare class Deque<E> extends IterableElementBase<E> {
|
|
|
439
439
|
indexInBucket: number;
|
|
440
440
|
};
|
|
441
441
|
}
|
|
442
|
-
export declare class ObjectDeque<E = number> {
|
|
443
|
-
constructor(capacity?: number);
|
|
444
|
-
protected _nodes: {
|
|
445
|
-
[key: number]: E;
|
|
446
|
-
};
|
|
447
|
-
get nodes(): {
|
|
448
|
-
[p: number]: E;
|
|
449
|
-
};
|
|
450
|
-
protected _capacity: number;
|
|
451
|
-
get capacity(): number;
|
|
452
|
-
protected _first: number;
|
|
453
|
-
get first(): number;
|
|
454
|
-
protected _last: number;
|
|
455
|
-
get last(): number;
|
|
456
|
-
protected _size: number;
|
|
457
|
-
get size(): number;
|
|
458
|
-
/**
|
|
459
|
-
* Time Complexity: O(1)
|
|
460
|
-
* Space Complexity: O(1)
|
|
461
|
-
*/
|
|
462
|
-
/**
|
|
463
|
-
* Time Complexity: O(1)
|
|
464
|
-
* Space Complexity: O(1)
|
|
465
|
-
*
|
|
466
|
-
* The "addFirst" function adds an element to the beginning of an array-like data structure.
|
|
467
|
-
* @param {E} element - The `element` parameter represents the element that you want to add to the beginning of the data
|
|
468
|
-
* structure.
|
|
469
|
-
*/
|
|
470
|
-
addFirst(element: E): void;
|
|
471
|
-
/**
|
|
472
|
-
* Time Complexity: O(1)
|
|
473
|
-
* Space Complexity: O(1)
|
|
474
|
-
*/
|
|
475
|
-
/**
|
|
476
|
-
* Time Complexity: O(1)
|
|
477
|
-
* Space Complexity: O(1)
|
|
478
|
-
*
|
|
479
|
-
* The addLast function adds an element to the end of an array-like data structure.
|
|
480
|
-
* @param {E} element - The `element` parameter represents the element that you want to add to the end of the data structure.
|
|
481
|
-
*/
|
|
482
|
-
addLast(element: E): void;
|
|
483
|
-
/**
|
|
484
|
-
* Time Complexity: O(1)
|
|
485
|
-
* Space Complexity: O(1)
|
|
486
|
-
*/
|
|
487
|
-
/**
|
|
488
|
-
* Time Complexity: O(1)
|
|
489
|
-
* Space Complexity: O(1)
|
|
490
|
-
*
|
|
491
|
-
* The function `pollFirst()` removes and returns the first element in a data structure.
|
|
492
|
-
* @returns The element of the first element in the data structure.
|
|
493
|
-
*/
|
|
494
|
-
pollFirst(): E | undefined;
|
|
495
|
-
/**
|
|
496
|
-
* Time Complexity: O(1)
|
|
497
|
-
* Space Complexity: O(1)
|
|
498
|
-
*/
|
|
499
|
-
/**
|
|
500
|
-
* Time Complexity: O(1)
|
|
501
|
-
* Space Complexity: O(1)
|
|
502
|
-
*
|
|
503
|
-
* The `getFirst` function returns the first element in an array-like data structure if it exists.
|
|
504
|
-
* @returns The element at the first position of the `_nodes` array.
|
|
505
|
-
*/
|
|
506
|
-
getFirst(): E | undefined;
|
|
507
|
-
/**
|
|
508
|
-
* Time Complexity: O(1)
|
|
509
|
-
* Space Complexity: O(1)
|
|
510
|
-
*/
|
|
511
|
-
/**
|
|
512
|
-
* Time Complexity: O(1)
|
|
513
|
-
* Space Complexity: O(1)
|
|
514
|
-
*
|
|
515
|
-
* The `pollLast()` function removes and returns the last element in a data structure.
|
|
516
|
-
* @returns The element that was removed from the data structure.
|
|
517
|
-
*/
|
|
518
|
-
pollLast(): E | undefined;
|
|
519
|
-
/**
|
|
520
|
-
* Time Complexity: O(1)
|
|
521
|
-
* Space Complexity: O(1)
|
|
522
|
-
*/
|
|
523
|
-
/**
|
|
524
|
-
* Time Complexity: O(1)
|
|
525
|
-
* Space Complexity: O(1)
|
|
526
|
-
*
|
|
527
|
-
* The `getLast()` function returns the last element in an array-like data structure.
|
|
528
|
-
* @returns The last element in the array "_nodes" is being returned.
|
|
529
|
-
*/
|
|
530
|
-
getLast(): E | undefined;
|
|
531
|
-
/**
|
|
532
|
-
* Time Complexity: O(1)
|
|
533
|
-
* Space Complexity: O(1)
|
|
534
|
-
*/
|
|
535
|
-
/**
|
|
536
|
-
* Time Complexity: O(1)
|
|
537
|
-
* Space Complexity: O(1)
|
|
538
|
-
*
|
|
539
|
-
* The get function returns the element at the specified index in an array-like data structure.
|
|
540
|
-
* @param {number} index - The index parameter is a number that represents the position of the element you want to
|
|
541
|
-
* retrieve from the array.
|
|
542
|
-
* @returns The element at the specified index in the `_nodes` array is being returned. If there is no element at that
|
|
543
|
-
* index, `undefined` is returned.
|
|
544
|
-
*/
|
|
545
|
-
get(index: number): NonNullable<E> | undefined;
|
|
546
|
-
/**
|
|
547
|
-
* The function checks if the size of a data structure is less than or equal to zero.
|
|
548
|
-
* @returns The method is returning a boolean element indicating whether the size of the object is less than or equal to 0.
|
|
549
|
-
*/
|
|
550
|
-
isEmpty(): boolean;
|
|
551
|
-
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @license MIT License
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
10
|
+
exports.Deque = void 0;
|
|
11
11
|
const utils_1 = require("../../utils");
|
|
12
12
|
const base_1 = require("../base");
|
|
13
13
|
/**
|
|
@@ -792,175 +792,4 @@ class Deque extends base_1.IterableElementBase {
|
|
|
792
792
|
}
|
|
793
793
|
}
|
|
794
794
|
exports.Deque = Deque;
|
|
795
|
-
// O(1) time complexity of obtaining the element
|
|
796
|
-
// O(n) time complexity of adding at the beginning and the end
|
|
797
|
-
// todo tested slowest one
|
|
798
|
-
class ObjectDeque {
|
|
799
|
-
constructor(capacity) {
|
|
800
|
-
this._nodes = {};
|
|
801
|
-
this._capacity = Number.MAX_SAFE_INTEGER;
|
|
802
|
-
this._first = -1;
|
|
803
|
-
this._last = -1;
|
|
804
|
-
this._size = 0;
|
|
805
|
-
if (capacity !== undefined)
|
|
806
|
-
this._capacity = capacity;
|
|
807
|
-
}
|
|
808
|
-
get nodes() {
|
|
809
|
-
return this._nodes;
|
|
810
|
-
}
|
|
811
|
-
get capacity() {
|
|
812
|
-
return this._capacity;
|
|
813
|
-
}
|
|
814
|
-
get first() {
|
|
815
|
-
return this._first;
|
|
816
|
-
}
|
|
817
|
-
get last() {
|
|
818
|
-
return this._last;
|
|
819
|
-
}
|
|
820
|
-
get size() {
|
|
821
|
-
return this._size;
|
|
822
|
-
}
|
|
823
|
-
/**
|
|
824
|
-
* Time Complexity: O(1)
|
|
825
|
-
* Space Complexity: O(1)
|
|
826
|
-
*/
|
|
827
|
-
/**
|
|
828
|
-
* Time Complexity: O(1)
|
|
829
|
-
* Space Complexity: O(1)
|
|
830
|
-
*
|
|
831
|
-
* The "addFirst" function adds an element to the beginning of an array-like data structure.
|
|
832
|
-
* @param {E} element - The `element` parameter represents the element that you want to add to the beginning of the data
|
|
833
|
-
* structure.
|
|
834
|
-
*/
|
|
835
|
-
addFirst(element) {
|
|
836
|
-
if (this.size === 0) {
|
|
837
|
-
const mid = Math.floor(this.capacity / 2);
|
|
838
|
-
this._first = mid;
|
|
839
|
-
this._last = mid;
|
|
840
|
-
}
|
|
841
|
-
else {
|
|
842
|
-
this._first--;
|
|
843
|
-
}
|
|
844
|
-
this.nodes[this.first] = element;
|
|
845
|
-
this._size++;
|
|
846
|
-
}
|
|
847
|
-
/**
|
|
848
|
-
* Time Complexity: O(1)
|
|
849
|
-
* Space Complexity: O(1)
|
|
850
|
-
*/
|
|
851
|
-
/**
|
|
852
|
-
* Time Complexity: O(1)
|
|
853
|
-
* Space Complexity: O(1)
|
|
854
|
-
*
|
|
855
|
-
* The addLast function adds an element to the end of an array-like data structure.
|
|
856
|
-
* @param {E} element - The `element` parameter represents the element that you want to add to the end of the data structure.
|
|
857
|
-
*/
|
|
858
|
-
addLast(element) {
|
|
859
|
-
if (this.size === 0) {
|
|
860
|
-
const mid = Math.floor(this.capacity / 2);
|
|
861
|
-
this._first = mid;
|
|
862
|
-
this._last = mid;
|
|
863
|
-
}
|
|
864
|
-
else {
|
|
865
|
-
this._last++;
|
|
866
|
-
}
|
|
867
|
-
this.nodes[this.last] = element;
|
|
868
|
-
this._size++;
|
|
869
|
-
}
|
|
870
|
-
/**
|
|
871
|
-
* Time Complexity: O(1)
|
|
872
|
-
* Space Complexity: O(1)
|
|
873
|
-
*/
|
|
874
|
-
/**
|
|
875
|
-
* Time Complexity: O(1)
|
|
876
|
-
* Space Complexity: O(1)
|
|
877
|
-
*
|
|
878
|
-
* The function `pollFirst()` removes and returns the first element in a data structure.
|
|
879
|
-
* @returns The element of the first element in the data structure.
|
|
880
|
-
*/
|
|
881
|
-
pollFirst() {
|
|
882
|
-
if (!this.size)
|
|
883
|
-
return;
|
|
884
|
-
const element = this.getFirst();
|
|
885
|
-
delete this.nodes[this.first];
|
|
886
|
-
this._first++;
|
|
887
|
-
this._size--;
|
|
888
|
-
return element;
|
|
889
|
-
}
|
|
890
|
-
/**
|
|
891
|
-
* Time Complexity: O(1)
|
|
892
|
-
* Space Complexity: O(1)
|
|
893
|
-
*/
|
|
894
|
-
/**
|
|
895
|
-
* Time Complexity: O(1)
|
|
896
|
-
* Space Complexity: O(1)
|
|
897
|
-
*
|
|
898
|
-
* The `getFirst` function returns the first element in an array-like data structure if it exists.
|
|
899
|
-
* @returns The element at the first position of the `_nodes` array.
|
|
900
|
-
*/
|
|
901
|
-
getFirst() {
|
|
902
|
-
if (this.size)
|
|
903
|
-
return this.nodes[this.first];
|
|
904
|
-
}
|
|
905
|
-
/**
|
|
906
|
-
* Time Complexity: O(1)
|
|
907
|
-
* Space Complexity: O(1)
|
|
908
|
-
*/
|
|
909
|
-
/**
|
|
910
|
-
* Time Complexity: O(1)
|
|
911
|
-
* Space Complexity: O(1)
|
|
912
|
-
*
|
|
913
|
-
* The `pollLast()` function removes and returns the last element in a data structure.
|
|
914
|
-
* @returns The element that was removed from the data structure.
|
|
915
|
-
*/
|
|
916
|
-
pollLast() {
|
|
917
|
-
if (!this.size)
|
|
918
|
-
return;
|
|
919
|
-
const element = this.getLast();
|
|
920
|
-
delete this.nodes[this.last];
|
|
921
|
-
this._last--;
|
|
922
|
-
this._size--;
|
|
923
|
-
return element;
|
|
924
|
-
}
|
|
925
|
-
/**
|
|
926
|
-
* Time Complexity: O(1)
|
|
927
|
-
* Space Complexity: O(1)
|
|
928
|
-
*/
|
|
929
|
-
/**
|
|
930
|
-
* Time Complexity: O(1)
|
|
931
|
-
* Space Complexity: O(1)
|
|
932
|
-
*
|
|
933
|
-
* The `getLast()` function returns the last element in an array-like data structure.
|
|
934
|
-
* @returns The last element in the array "_nodes" is being returned.
|
|
935
|
-
*/
|
|
936
|
-
getLast() {
|
|
937
|
-
if (this.size)
|
|
938
|
-
return this.nodes[this.last];
|
|
939
|
-
}
|
|
940
|
-
/**
|
|
941
|
-
* Time Complexity: O(1)
|
|
942
|
-
* Space Complexity: O(1)
|
|
943
|
-
*/
|
|
944
|
-
/**
|
|
945
|
-
* Time Complexity: O(1)
|
|
946
|
-
* Space Complexity: O(1)
|
|
947
|
-
*
|
|
948
|
-
* The get function returns the element at the specified index in an array-like data structure.
|
|
949
|
-
* @param {number} index - The index parameter is a number that represents the position of the element you want to
|
|
950
|
-
* retrieve from the array.
|
|
951
|
-
* @returns The element at the specified index in the `_nodes` array is being returned. If there is no element at that
|
|
952
|
-
* index, `undefined` is returned.
|
|
953
|
-
*/
|
|
954
|
-
get(index) {
|
|
955
|
-
return this.nodes[this.first + index] || undefined;
|
|
956
|
-
}
|
|
957
|
-
/**
|
|
958
|
-
* The function checks if the size of a data structure is less than or equal to zero.
|
|
959
|
-
* @returns The method is returning a boolean element indicating whether the size of the object is less than or equal to 0.
|
|
960
|
-
*/
|
|
961
|
-
isEmpty() {
|
|
962
|
-
return this.size <= 0;
|
|
963
|
-
}
|
|
964
|
-
}
|
|
965
|
-
exports.ObjectDeque = ObjectDeque;
|
|
966
795
|
//# sourceMappingURL=deque.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deque.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/deque.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deque.js","sourceRoot":"","sources":["../../../../src/data-structures/queue/deque.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { BST, BSTNode } from './bst';
|
|
9
9
|
import type { AVLTreeNested, AVLTreeNodeNested, AVLTreeOptions, BiTreeDeleteResult, BSTNodeKeyOrNode, BTNodeExemplar } from '../../types';
|
|
10
|
-
import { BTNCallback } from '../../types';
|
|
10
|
+
import { BTNCallback, BTNodeKeyOrNode } from '../../types';
|
|
11
11
|
import { IBinaryTree } from '../../interfaces';
|
|
12
12
|
export declare class AVLTreeNode<K = any, V = any, N extends AVLTreeNode<K, V, N> = AVLTreeNodeNested<K, V>> extends BSTNode<K, V, N> {
|
|
13
13
|
height: number;
|
|
@@ -58,6 +58,13 @@ export declare class AVLTree<K = any, V = any, N extends AVLTreeNode<K, V, N> =
|
|
|
58
58
|
* @returns a boolean value indicating whether the exemplar is an instance of the AVLTreeNode class.
|
|
59
59
|
*/
|
|
60
60
|
isNode(exemplar: BTNodeExemplar<K, V, N>): exemplar is N;
|
|
61
|
+
/**
|
|
62
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
63
|
+
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
64
|
+
* data type.
|
|
65
|
+
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
66
|
+
*/
|
|
67
|
+
isNotNodeInstance(potentialKey: BTNodeKeyOrNode<K, N>): potentialKey is K;
|
|
61
68
|
/**
|
|
62
69
|
* Time Complexity: O(log n) - logarithmic time, where "n" is the number of nodes in the tree. The add method of the superclass (BST) has logarithmic time complexity.
|
|
63
70
|
* Space Complexity: O(1) - constant space, as it doesn't use additional data structures that scale with input size.
|
|
@@ -71,6 +71,15 @@ export class AVLTree extends BST {
|
|
|
71
71
|
isNode(exemplar) {
|
|
72
72
|
return exemplar instanceof AVLTreeNode;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
76
|
+
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
77
|
+
* data type.
|
|
78
|
+
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
79
|
+
*/
|
|
80
|
+
isNotNodeInstance(potentialKey) {
|
|
81
|
+
return !(potentialKey instanceof AVLTreeNode);
|
|
82
|
+
}
|
|
74
83
|
/**
|
|
75
84
|
* Time Complexity: O(log n) - logarithmic time, where "n" is the number of nodes in the tree. The add method of the superclass (BST) has logarithmic time complexity.
|
|
76
85
|
* Space Complexity: O(1) - constant space, as it doesn't use additional data structures that scale with input size.
|
|
@@ -37,10 +37,6 @@ export declare class BinaryTreeNode<K = any, V = any, N extends BinaryTreeNode<K
|
|
|
37
37
|
* 3. Depth and Height: Depth is the number of edges from the root to a node; height is the maximum depth in the tree.
|
|
38
38
|
* 4. Subtrees: Each child of a node forms the root of a subtree.
|
|
39
39
|
* 5. Leaf Nodes: Nodes without children are leaves.
|
|
40
|
-
* 6. Internal Nodes: Nodes with at least one child are internal.
|
|
41
|
-
* 7. Balanced Trees: The heights of the left and right subtrees of any node differ by no more than one.
|
|
42
|
-
* 8. Full Trees: Every node has either 0 or 2 children.
|
|
43
|
-
* 9. Complete Trees: All levels are fully filled except possibly the last, filled from left to right.
|
|
44
40
|
*/
|
|
45
41
|
export declare class BinaryTree<K = any, V = any, N extends BinaryTreeNode<K, V, N> = BinaryTreeNode<K, V, BinaryTreeNodeNested<K, V>>, TREE extends BinaryTree<K, V, N, TREE> = BinaryTree<K, V, N, BinaryTreeNested<K, V, N>>> extends IterableEntryBase<K, V | undefined> implements IBinaryTree<K, V, N, TREE> {
|
|
46
42
|
iterationType: IterationType;
|
|
@@ -389,21 +385,21 @@ export declare class BinaryTree<K = any, V = any, N extends BinaryTreeNode<K, V,
|
|
|
389
385
|
* @param {any} node - The parameter `node` is of type `any`, which means it can be any data type.
|
|
390
386
|
* @returns a boolean value.
|
|
391
387
|
*/
|
|
392
|
-
isRealNode(node:
|
|
388
|
+
isRealNode(node: BTNodeExemplar<K, V, N>): node is N;
|
|
393
389
|
/**
|
|
394
390
|
* The function checks if a given node is a BinaryTreeNode instance and has a key value of NaN.
|
|
395
391
|
* @param {any} node - The parameter `node` is of type `any`, which means it can be any data type.
|
|
396
392
|
* @returns a boolean value.
|
|
397
393
|
*/
|
|
398
|
-
isNIL(node:
|
|
394
|
+
isNIL(node: BTNodeExemplar<K, V, N>): boolean;
|
|
399
395
|
/**
|
|
400
396
|
* The function checks if a given node is a real node or null.
|
|
401
397
|
* @param {any} node - The parameter `node` is of type `any`, which means it can be any data type.
|
|
402
398
|
* @returns a boolean value.
|
|
403
399
|
*/
|
|
404
|
-
isNodeOrNull(node:
|
|
400
|
+
isNodeOrNull(node: BTNodeExemplar<K, V, N>): node is N | null;
|
|
405
401
|
/**
|
|
406
|
-
* The function "isNotNodeInstance" checks if a potential key is a
|
|
402
|
+
* The function "isNotNodeInstance" checks if a potential key is a K.
|
|
407
403
|
* @param {any} potentialKey - The potentialKey parameter is of type any, which means it can be any
|
|
408
404
|
* data type.
|
|
409
405
|
* @returns a boolean value indicating whether the potentialKey is of type number or not.
|
|
@@ -427,8 +423,17 @@ export declare class BinaryTree<K = any, V = any, N extends BinaryTreeNode<K, V,
|
|
|
427
423
|
listLevels<C extends BTNCallback<N>>(callback?: C, beginRoot?: BTNodeKeyOrNode<K, N>, iterationType?: IterationType, includeNull?: undefined): ReturnType<C>[][];
|
|
428
424
|
listLevels<C extends BTNCallback<N | null | undefined>>(callback?: C, beginRoot?: BTNodeKeyOrNode<K, N>, iterationType?: IterationType, includeNull?: true): ReturnType<C>[][];
|
|
429
425
|
/**
|
|
430
|
-
* Time
|
|
431
|
-
* Space
|
|
426
|
+
* Time Complexity: O(log n)
|
|
427
|
+
* Space Complexity: O(1)
|
|
428
|
+
*/
|
|
429
|
+
/**
|
|
430
|
+
* Time Complexity: O(log n)
|
|
431
|
+
* Space Complexity: O(1)
|
|
432
|
+
*
|
|
433
|
+
* The function returns the predecessor of a given node in a tree.
|
|
434
|
+
* @param {N} node - The parameter `node` is of type `RedBlackTreeNode`, which represents a node in a
|
|
435
|
+
* tree.
|
|
436
|
+
* @returns the predecessor of the given 'node'.
|
|
432
437
|
*/
|
|
433
438
|
getPredecessor(node: N): N;
|
|
434
439
|
/**
|