我需要构建一个 Node 类,它代表一棵节点树,所有这些节点都保存在一个数组中。我知道伪代码和 C++ 的结构,但我认为 PHP 中最好的结构?
像这样的东西:
class Node
{
//number of nodes from 0 to n
}
我认为您应该考虑 Ardent它具有良好的二叉树实现并且还支持BinarySearchTree
例子 :
$root = new BinaryTree(7);
$root->setLeft(new BinaryTree(5));
$root->setRight(new BinaryTree(8));
$root->getLeft()->setLeft(new BinaryTree(1));
$root->getLeft()->setRight(new BinaryTree(6));
$root->getRight()->setRight(new BinaryTree(9));
您还可以拥有扩展 BinarySearchTree的AvlTree
$object = new AvlTree();
// 5
// / \
// 2 9
// / \ / \
// 1 4 8 11
// /
// 3
$object->add(5);
$object->add(2);
$object->add(9);
$object->add(1);
$object->add(4);
$object->add(8);
$object->add(11);
$object->add(3);