Я только начал изучать бинарные деревья поиска и тому подобное, и я пытаюсь найти расстояние от цели до каждого узла в бинарном дереве поиска.Это действительно сложно и очень трудно найти примеры с javascript, когда дело доходит до структур данных.Был бы супер благодарен за любую помощь!
7
/ \
4 8
/ \ / \
3 6
/
2
for the traget of 6, my output should be {7: 2, 4:1, 3:2, 2:3, 8:3, 6:0}
Что у меня так далеко:
class Node {
constructor(data) {
this.data = data;
this.left = null;
this.right = null;
}
}
const calculate = (node, target) => {
let counter = 0;
const nodesAndThereDistances = {}
if (!node) {
return null;
}
const inner = (node, target) => {
if (!node) {
return null;
}
if (node.data !== target) {
counter++;
nodesAndThereDistances[node.data] = counter;
if (node.left, target) {
inner(node.left, target)
}
if (node.right, target) {
inner(node.right, target)
}
} else {
return nodesAndThereDistances;
}
}
inner(node, target)
return nodesAndThereDistances;
}
calculate(node1, 6)