/** * @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; }
/** * @param $value * @return bool */ public function insert($value) { return parent::insert($value); }
public function testHeight() { self::assertEquals(6, $this->binarySearchTree->calculateHeight()); }