Graph Traversals
by infous
HTML
<iframe width="560" height="315" src="https://www.youtube.com/embed/bIA8HEEUxZI?start=96" frameborder="0" allowfullscreen></iframe>
JavaScript
let A = { m: "I'm A!" };
let B = { m: "I'm B!" };
let C = { m: "I'm C!" };
let D = { m: "I'm D!" };
let E = { m: "I'm E!" };
let F = { m: "I'm F!" };
let G = { m: "I'm G!" };
let H = { m: "I'm H!" };
A.nodes = [B, D, G];
B.nodes = [A, E, F];
C.nodes = [F, H];
D.nodes = [A, F];
E.nodes = [B, G];
F.nodes = [B, C, D];
G.nodes = [A, E];
H.nodes = [C]
let visited = [];
let count = 0;
function t (node) {
console.log(node.m);
visited.push(node);
++count;
node.nodes.forEach(item => {
if (visited.indexOf(item) === -1) {
t(item);
}
})
}
t(A);
console.log('Items in graph: ', count);
// picture of this graph: https://www.youtube.com/watch?v=bIA8HEEUxZI