class Node
{
public $value;
public $left;
public $right;
}

function preorderTravel(Node $root = null)
{
$tree[] = root;while(root; while (root;while(tree) {
node=arraypop(node = array_pop(node=arraypop(tree);
echo node>value;if(node->value; if (node>value;if(node->left) preorderTravel(node>left);if(node->left); if (node>left);if(node->right) preorderTravel($node->right);

}

}

function inorderTravel(Node $root = null)
{
$tree[] = root;while(root; while (root;while(tree) {
node=arraypop(node = array_pop(node=arraypop(tree);
if (node>left)inorderTravel(node->left) inorderTravel(node>left)inorderTravel(node->left);
echo node>value;if(node->value; if (node>value;if(node->right) inorderTravel($node->right);
}
}

function postorderTravel(Node $root = null)
{
$tree[] = root;while(root; while (root;while(tree) {
node=arraypop(node = array_pop(node=arraypop(tree);
if (node>left)postorderTravel(node->left) postorderTravel(node>left)postorderTravel(node->left);
if (node>right)postorderTravel(node->right) postorderTravel(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);

收藏 打印