class Node
{
public $value;
public $left;
public $right;
}
function preorderTravel(Node $root = null)
{
$tree[] = $root;
while ($tree) {
$node = array_pop($tree);
echo $node->value;
if ($node->left) preorderTravel($node->left);
if ($node->right) preorderTravel($node->right);
}
}
function inorderTravel(Node $root = null)
{
$tree[] = $root;
while ($tree) {
$node = array_pop($tree);
if ($node->left) inorderTravel($node->left);
echo $node->value;
if ($node->right) inorderTravel($node->right);
}
}
function postorderTravel(Node $root = null)
{
$tree[] = $root;
while ($tree) {
$node = array_pop($tree);
if ($node->left) postorderTravel($node->left);
if ($node->right) postorderTravel($node->right);
echo $node->value;
}
}
$a = new Node();
$b = new Node();
$c = new Node();
$d = new Node();
$e = new Node();
$f = new Node();
$a->value = ‘A’;
$b->value = ‘B’;
$c->value = ‘C’;
$d->value = ‘D’;
$e->value = ‘E’;
$f->value = ‘F’;
$a->left = $b;
$a->right = $c;
$b->left = $d;
$c->left = $e;
$c->right = $f;
preorderTravel($a);
echo " ";
inorderTravel($a);
echo " ";
postorderTravel($a);