Пример #1
0
 public function testSearchThroughLotsOfLeaves()
 {
     $tree = new Tree();
     $tree->insert($valueOne = 12);
     $tree->insert($valueTwo = 18);
     $tree->insert($valueThree = 24);
     $tree->insert($valueFour = 16);
     $tree->insert($valueFive = 22);
     $tree->insert($valueSix = 28);
     $this->assertEquals($tree->search($valueTwo), $tree->root);
     $this->assertEquals($tree->search($valueThree), $tree->root->right);
     $this->assertEquals($tree->search($valueOne), $tree->root->left);
     $this->assertEquals($tree->search($valueFive), $tree->root->right->left);
     $this->assertEquals($tree->search($valueSix), $tree->root->right->right);
     $this->assertEquals($tree->search($valueFour), $tree->root->left->right);
 }
Пример #2
0
<?php

include 'vendor/autoload.php';
use App\Tree;
$tree = new Tree();
function printTree($node, $indent, $prefix)
{
    $indentStr = "    ";
    $printStr = "";
    for ($i = 0; $i < $indent; $i++) {
        $printStr = $printStr . $indentStr;
    }
    echo $printStr . $prefix . " value: " . $node->data . "\n";
    $indent++;
    if ($node->left) {
        printTree($node->left, $indent, "left: ");
    }
    if ($node->right) {
        printTree($node->right, $indent, "right: ");
    }
}
$tree->insert(5);
printTree($tree->root, 0, "root");
echo "--------- \n";
$tree->insert(3);
printTree($tree->root, 0, "root");
echo "--------- \n";
$tree->insert(4);
printTree($tree->root, 0, "root");