Tree Traversals Problems

by Clay Anderson

HTML

<div id="output"></div>

JavaScript

/*

Example tree:

         A
      /     \        
     B       C
   /   \    /  \
  D     E  F    G

Traversal1 Output: DEBFGCA
Traversal2 Output: ABCDEFG
Traversal3 (alternating direction) Output: ACBDEFG

*/

/*
class Node {
	name;
	left;
  right;
}
*/

const myTree = {
	name: 'A',
  left: {
  	name: 'B',
    left: {
    	name: 'D'
    },
    right: {
    	name: 'E'
    }
  },
  right: {
  	name: 'C',
    left: {
    	name: 'F'
    },
    right: {
    	name: 'G'
    }
  }
};

function Traversal1(node) {
	return 'TODO';
}

function Traversal2(node) {
	return 'TODO';
}

function Traversal3(node) {
  return 'TODO';
}

document.getElementById("output").innerHTML += Traversal1(myTree) === 'DEBFGCA' ? 'PASS' : 'FAIL: ' + Traversal1(myTree);
document.getElementById("output").innerHTML += "<br>";
document.getElementById("output").innerHTML += Traversal2(myTree) === 'ABCDEFG' ? 'PASS' : 'FAIL: ' + Traversal2(myTree);
document.getElementById("output").innerHTML += "<br>";
document.getElementById("output").innerHTML += Traversal3(myTree) === 'ACBDEFG' ? 'PASS' : 'FAIL: ' + Traversal3(myTree);