二叉树的后继结点
来源:互联网 发布:win7还原网络设置 编辑:程序博客网 时间:2024/04/27 16:09
题目:给定一个二叉搜索树上的结点,输出其后继结点(按中序遍历)。
解答:假定给定二叉搜索树的结点为x,主要分两种情况:
1.x的右孩子不为空,则x的后继是x的右子树上最小的,也就是右子树上寻找最后一个左孩子。如图所示:
2.x的右孩子为空,则x的后继应该是x的祖先结点或者为空,
具体程序如下:
struct TreeNode{char key;TreeNode *left;TreeNode *right;TreeNode *parent;};TreeNode *FindSuccessor(TreeNode *x){if(x->right!=NULL){TreeNode *q=x->right;while(q->left)q=q->left;return q;}TreeNode *p=x->parent;while(p&&x==p->right){x=p;p=p->parent;}return p;}
0 0
- 二叉树的后继结点
- 二叉树 —— 中序遍历结点的后继
- 在含有父结点指针的二叉树中找到一个结点的后继结点
- 二叉树的祖先结点,删除,插入,查找,前驱结点,后继结点等
- 二叉查找树的后继
- 找出二叉查找树中指定结点的”下一个"结点(也即中序后继)
- 二叉树的前驱和后继
- 二叉树遍历的前驱和后继
- 二叉树后继
- 找出二叉树中指定结点的下一个结点(中序后继)可以假定每个结点都有指向父节点的连接
- 算法导论第十二章关于搜索二叉树的建立,查询,查找最大最小元素值,查找给定结点的直接后继
- 二叉查找树查找后继,前驱的问题
- 二叉查找树的创建,插入,搜索,查询后继
- 二叉树寻找中序遍历的后继节点
- 线索二叉树前驱后继的查询算法(C 语言)
- 二叉树遍历的前驱和后继规则说明
- 二叉树前驱后继的查找(这个容易理解)
- 二叉树的线索化及其前驱后继查找
- 浓浓的思念,一扇关不上的窗
- php手写最基本的代码
- fdgjfglkfl
- 学会理解,其实是善待自己
- IDE、SCSI、SATA
- 二叉树的后继结点
- JavaScript 数组转字符串,字符串转数组
- 自然的阴谋论和不自然的科学思维
- node.js第七课(全局对象和全局变量)
- DSGV1DS中国制造已经在互联网时代更加的符合用户需求
- hosts文件的作用
- java提高篇(一)-----理解java的三大特性之封装
- SIFT、SURF特征匹配点的坐标获取\及匹配应用
- C语言指向指针的指针