下面是一个实现二叉树遍历的PHP递归函数,包括前序遍历、中序遍历和后序遍历:
class Node {
public $data;
public $leftChild;
public $rightChild;
public function __construct($data) {
$this->data = $data;
$this->leftChild = null;
$this->rightChild = null;
}
}
function preOrderTraversal($node) {
if ($node != null) {
echo $node->data . " ";
preOrderTraversal($node->leftChild);
preOrderTraversal($node->rightChild);
}
}
function inOrderTraversal($node) {
if ($node != null) {
inOrderTraversal($node->leftChild);
echo $node->data . " ";
inOrderTraversal($node->rightChild);
}
}
function postOrderTraversal($node) {
if ($node != null) {
postOrderTraversal($node->leftChild);
postOrderTraversal($node->rightChild);
echo $node->data . " ";
}
}
// 创建一个二叉树
$root = new Node(1);
$root->leftChild = new Node(2);
$root->rightChild = new Node(3);
$root->leftChild->leftChild = new Node(4);
$root->leftChild->rightChild = new Node(5);
// 前序遍历
echo "Preorder traversal: ";
preOrderTraversal($root);
echo "\n";
// 中序遍历
echo "Inorder traversal: ";
inOrderTraversal($root);
echo "\n";
// 后序遍历
echo "Postorder traversal: ";
postOrderTraversal($root);
echo "\n";
以上代码演示了如何实现二叉树的前序遍历、中序遍历和后序遍历。您只需定义一个Node类来表示二叉树节点,并编写相应的遍历函数即可。您可以根据需要自定义二叉树的结构和节点数据。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1007995.html