查找二叉搜索树中小于某个节点的最大值
2013-10-04 12:04
288 查看
Node* rightMost(Node *n) { if (n->right == NULL) { return n; } while (n->right) { n = n->right; } return n; } Node *predecessor(Node *n) { if (NULL == n) { return NULL; } if (n->left) { return rightMost(n->left); } Node *parent = n->parent; if (parent && parent->right != n) { n = parent; parent = parent->parent; } return parent; }
相关文章推荐
- 二叉搜索树的相关操作:插入节点,删除节点,排序,查找,最大值,最小值,前序,中序,后序遍历(主要用到递归的方法)
- 二叉树查找不严格小于一个值的最大值(返回节点)。
- 数据结构与算法分析(Java语言描述)(18)—— 二叉搜索树最大、最小子节点的搜索、删除
- (二叉搜索树10.1.1)POJ 2309 BST(求以x为根的满二叉搜索树的最小节点编号和最大节点编号)
- 二叉查找树带父节点指针的创建,销毁,查找,删除,插入,找前驱后继,找最小值最大值(递归和非递归的实现)
- (C语言)BinarySrearchTree二叉搜索树 --- 标准插入(递归,非递归)、遍历(前,中,后序)、查找(递归,非递归)、根插入递归(左旋,右旋)、最小最大值、删除节点
- 什么是二叉搜索树、二叉搜索树的查找(递归或循环)和二叉搜索树的查找最大最小元素
- 找出二叉搜索树的最大节点和最小节点
- [leetcode 285] Inorder Successor in BST---查找二叉搜索树中某个节点在中序遍历中的后续节点
- 二叉树的遍历 插入 查找 删除 最大值 最小值 前驱 后继节点的查找
- Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作
- 二叉搜索树查找与目标数字最接近的节点。
- Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作
- poj 2309 按位与 &(以x为根的满二叉搜索树的最小节点编号、最大节点编号)
- 二叉搜索树中查找与目标数字最接近的节点
- (Swift 实现)二叉搜索树 —— 创建,最大,最小,查找,插入,删除,前驱,后继,中序遍历
- 数据结构与算法分析(Java语言描述)(16)—— 二叉搜索树基础、节点插入、查找
- 二叉搜索树的节点插入,查找。
- 算法实验一:二分查找算法改进: 当搜索元素x不存在时,返回小于x的最大元素位置i和大于x的最小元素位置j. 当搜索元素在数组中时,i和j相同,均为x在数组中的位置。
- 查找二叉树最大值节点