试题详情
- 简答题编写算法,在二叉排序树上找出任意两个不同结点的最近公共祖先。
- 设两个结点分别为A和B,根据题目要求分下面情况讨论:
⑴若A为根结点,则A为公共祖先;
⑵若A->datadata且root->datadata,root为公共祖先;
⑶若A->datadata且B->datadata,则到左子树查找;
⑷若A->data>root->data且B->data>root->data,则到右子树查找。
具体算法如下:
关注下方微信公众号,在线模考后查看
热门试题
- 用邻接矩阵法存储一个图所需的存储单元数目
- 写出用直接插入排序将关键字序列{54,2
- 如果一个串中的所有字符均在另一串中出现,
- 简述查找的作用。
- 从邻接矩阵可以看出,该图有()个顶点。如
- 假定一裸三叉树的结点放为50,则它的最小
- 已知一棵二叉树的先序遍历结果为A、B、D
- 数组可看作基本线性表的一种推广,因此与线
- 在完全二叉树中,若一个结点是叶子结点,则
- 快速排序
- 排序方法中,从无序序列中选择关键字最小的
- 设一维数组中有n个数组元素,则读取第i个
- 设一棵有2n+1个结点的二叉树,除叶结点
- 已知图的邻接矩阵同上题8,根据算法,则从
- 顺序栈存储空间的实现使用()。
- 二维数组A[m][n]采用行序为主方式存
- 当向B—树中插入关键码时,可能引起结点的
- 在一个循环队列中,队首指针指向队首元素的
- 广义表的(h ,c,g,a&
- 如下图所示,若从顶点a出发,按图的深度优