Esempio n. 1
0
 /**
  * @param BinaryTree $node
  * @return BinaryTree
  */
 private function deleteNeitherChildIsNull(BinaryTree $node)
 {
     $value = $node->inOrderPredecessor()->value();
     $node->setLeft($this->removeRecursive($value, $node->left()));
     $node->setValue($value);
     return $node;
 }
Esempio n. 2
0
 function testGetInOrderPredecessorWithLeftNodeHavingRightSubTree()
 {
     $root = new BinaryTree(5);
     $left = new BinaryTree(2);
     $root->setLeft($left);
     $root->setRight(new BinaryTree(6));
     $inOrderPredecessor = new BinaryTree(3);
     $left->setRight($inOrderPredecessor);
     $this->assertEquals($inOrderPredecessor, $root->inOrderPredecessor());
 }