public function test_insertedElementCanBeFound()
 {
     $tree = new BinaryTree();
     $tree->insert(new types\NumericContainer(3));
     $tree->insert(new types\NumericContainer(2));
     $tree->insert(new types\NumericContainer(1));
     $tree->insert(new types\NumericContainer(5));
     $element = new types\NumericContainer(4);
     $tree->insert($element);
     $this->assertSame($element, $tree->find(new types\NumericContainer(4)));
 }
示例#2
0
echo '<pre>';
var_dump($tree);
echo '</pre>';
echo '<br>';
echo 'ここから検索テスト';
var_dump(BinaryTree::find(1000, $tree));
var_dump(BinaryTree::find(2000, $tree));
var_dump(BinaryTree::find(300, $tree));
var_dump(BinaryTree::find(4000, $tree));
var_dump(BinaryTree::find(5000, $tree));
var_dump(BinaryTree::find(100, $tree));
var_dump(BinaryTree::find(50, $tree));
var_dump(BinaryTree::find(10, $tree));
var_dump(BinaryTree::find(200, $tree));
var_dump(BinaryTree::find(400, $tree));
var_dump(BinaryTree::find(1, $tree));
echo '<br>';
echo 'ここから消去テスト';
var_dump(BinaryTree::delete(1, $tree));
echo '<br>';
//リーフの削除テスト
//var_dump(BinaryTree::delete(400, $tree));
//右のノードしかない時の削除テスト
//var_dump(BinaryTree::delete(2000, $tree));
//左のノードしかない時の削除テスト
//var_dump(BinaryTree::delete(50, $tree));
//右と左のノードがある時のテスト
//var_dump(BinaryTree::delete(300, $tree));
//右と左のノードがある時のテスト
////var_dump(BinaryTree::delete(100, $tree));
//ルートの削除テスト