/** * @param BinarySearchTreeNode $node * @return bool */ public function successor(BinarySearchTreeNode $node) { if (null === $node->getRight()) { while ($node->getParent()) { if ($node->isLeftChild()) { return $node->getParent(); } $node = $node->getParent(); } } else { $rightTree = new BinarySearchTree(); $rightTree->setRoot($node->getRight()); return $rightTree->max(); } return false; }
public function testMax() { self::assertEquals(12, $this->binarySearchTree->max()->getData()); }