forked from knaxus/problem-solving-javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
32 lines (25 loc) · 829 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const BST = require('../../_DataStructures_/Trees/BinarySearchTree');
const Queue = require('../../_DataStructures_/Queue');
function traverseBFS(root) {
let temp = root;
const arr = [];
const nodeQueue = new Queue();
if (root === null) {
return arr;
}
while (temp !== null) {
arr.push(temp.value);
if (temp.leftChild) nodeQueue.enqueue(temp.leftChild);
if (temp.rightChild) nodeQueue.enqueue(temp.rightChild);
temp = nodeQueue.dequeue();
}
return arr;
}
const myBST = new BST(51);
[10, 34, 32, 12, 90, 54, 61, 2, 71, 9].forEach(e => myBST.add(e));
const preOrderElements = myBST.preorder();
const levelOrderElements = traverseBFS(myBST.root);
// eslint-disable-next-line no-console
console.log(preOrderElements);
// eslint-disable-next-line no-console
console.log(levelOrderElements);