int heightTree (TNODE_p_t root) { if (root == NULL) return 0; int leftHeight = heightTree(root->left); int rightHeight = heightTree(root->right); return (leftHeight > rightHeight)?(leftHeight + 1):(rightHeight + 1); }
int diameter (TNODE_p_t tree) { if (tree == NULL) return 0; int ld = diameter(tree->left); int rd = diameter(tree->right); int dd = (ld > rd) ? ld : rd; int lp = 1 + heightTree(tree->left) + heightTree(tree->right); return (lp > dd) ? lp : dd; }
int balanceFactor(node* node) { int bf = 0; if(node->left) bf += heightTree(node->left); if(node->right) bf -= heightTree(node->right); return bf; }
int heightTree(node* nod) { int height_left = 0; int height_right = 0; if(nod->left) height_left = heightTree(nod->left); if(nod->right) height_right = heightTree(nod->right); return height_right > height_left ? ++height_right : ++height_left; }
int heightTree(Node * a) { int lh, rh; if (a == NIL) return 0; lh = heightTree(a->left); rh = heightTree(a->right); if (lh < rh) return rh + 1; else return lh + 1; }
int heightTree(TreeNode *root) { if (root==NULL) return 0; if (root->left==NULL && root->right==NULL) return 1; int leftHeight = heightTree(root->left); int rightHeight = heightTree(root->right); if (leftHeight==-1 || rightHeight==-1) return -1; else if (leftHeight==rightHeight) return 1+leftHeight; else if (leftHeight==rightHeight-1) return 1+rightHeight; else if (leftHeight==rightHeight+1) return 1+leftHeight; else return -1; }
int BinarySearchTree<T>::heightTree(Node<T> *rootTree) const { if(rootTree == nullptr) return 0; int leftHeight, rightHeight; leftHeight = heightTree(rootTree->leftChild); rightHeight = heightTree(rootTree->rightChild); if(leftHeight > rightHeight) return (leftHeight + 1); else return (rightHeight + 1); }
bool isBalanced(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function if (heightTree(root)==-1) return false; else return true; }
void BinarySearchTree<T>::heightTree() const { std::cout << "Height of tree: " << heightTree(root) << std::endl; }