试题详情
- 简答题编写算法,在二叉排序树上找出任意两个不同结点的最近公共祖先。
- 设两个结点分别为A和B,根据题目要求分下面情况讨论:
⑴若A为根结点,则A为公共祖先;
⑵若A->datadata且root->datadata,root为公共祖先;
⑶若A->datadata且B->datadata,则到左子树查找;
⑷若A->data>root->data且B->data>root->data,则到右子树查找。
具体算法如下:
关注下方微信公众号,在线模考后查看
热门试题
- 任何无环的有向图,其结点都可以排在一个拓
- 什么叫算法?它有哪些特性?
- 若无向图采用邻接矩阵存储,则存储空间的大
- 在双向链表中每个结点包含有两个指针域,一
- 假定一组记录的排序码为(46,79,56
- 简述稳定排序和不稳定排序的含义。
- 非空线性表中任意一个数据元素都有且仅有一
- 对于List类型的线性表,编写出下列算法
- 二叉树的定义是个递归定义。
- 高度为h的二叉树中叶子结点的数目至多为(
- 在具有n个元素的循环队列中,队满时具有(
- 已知单链表中各结点的元素值为整型且递增有
- 简述在顺序栈的栈顶插入一个元素的操作过程
- 设有一组关键字:{19,01,23,14
- 算法的时间复杂度与()有关。
- 在顺序表(3,6,8,10,12,15,
- 若对n个元素进行直接插入排序,则进行第i
- 线索二叉树
- 分析以下程序段的时间复杂度。
- 在单链表中设置头结点的作用是()。