我需要构建一个Node类,它将表示一个节点树,并将所有这些节点保存在一个数组中。我知道伪代码和C ++的结构,但我认为PHP中的最佳结构?
类似的东西:
class Node
{
//number of nodes from 0 to n
}
答案 0 :(得分:2)
我认为您应该考虑Ardent它具有良好的Binary Tree实施,并且还支持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));
您还可以AvlTree扩展BinarySearchTree
$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);