File tree 4 files changed +32
-3
lines changed
src/_DataStructures_/Trees/BinarySearchTree
4 files changed +32
-3
lines changed Original file line number Diff line number Diff line change
1
+ // eslint-disable-next-line no-unused-vars
2
+ const BST = require ( '../index' ) ;
3
+
4
+ function findKNodes ( root , k ) {
5
+ let arr = [ ] ;
6
+
7
+ if ( root === null ) return [ ] ;
8
+ if ( k === 0 ) return [ ...arr , root . value ] ;
9
+
10
+ const left = findKNodes ( root . leftChild , k - 1 ) ;
11
+ arr = [ ...arr , ...left ] ;
12
+
13
+ const right = findKNodes ( root . rightChild , k - 1 ) ;
14
+ arr = [ ...arr , ...right ] ;
15
+ return arr ;
16
+ }
17
+
18
+ // create a BST
19
+ // const myBST = new BST(6);
20
+
21
+ // myBST.add(2);
22
+ // myBST.add(19);
23
+ // myBST.add(14);
24
+ // myBST.add(8);
25
+ // myBST.add(5);
26
+ // myBST.add(12);
27
+ // myBST.add(33);
28
+ // myBST.add(52);
29
+ // myBST.add(1);
30
+
31
+ // console.log(findKNodes(myBST.root, 2));
Original file line number Diff line number Diff line change
1
+ // eslint-disable-next-line no-unused-vars
1
2
const BST = require ( '../index' ) ;
2
3
3
4
// Inorder traversal returns a sorted array
Original file line number Diff line number Diff line change @@ -34,7 +34,6 @@ function findKthMin(rootNode, k) {
34
34
// myBST.add(1);
35
35
// myBST.add(0);
36
36
37
- // // find 3rd max
38
37
// console.log(findKthMin(myBST.root, 3));
39
38
40
39
module . exports = findKthMin ;
Original file line number Diff line number Diff line change @@ -26,10 +26,8 @@ function findHeightOfBST(root) {
26
26
// myBST.add(12);
27
27
// myBST.add(10);
28
28
29
- // // find 3rd max
30
29
// // console.log(myBST.root);
31
30
// console.log(myBST.traversePreorder());
32
- // // console.log(myBST.root.rightChild);
33
31
// console.log(findHeightOfBST(myBST.root));
34
32
35
33
module . exports = findHeightOfBST ;
You can’t perform that action at this time.
0 commit comments