首页 > 职业资格考试
题目内容 (请给出正确答案)
[主观题]

编写一个递归算法,在一棵有n个结点的随机建立起来的二叉搜索树上搜索第k(1≤k≤n)小的元素,并返

编写一个递归算法,在一棵有n个结点的随机建立起来的二叉搜索树上搜索第k(1≤k≤n)小的元素,并返

回指向该结点的指针。要求算法的平均时间复杂度为O(log2n)。二叉搜索树的每个结点中除data、ieftChild、rightChild等数据成员外、增加一个count成员,保存以该结点为根的子树上的结点个数。

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“编写一个递归算法,在一棵有n个结点的随机建立起来的二叉搜索树…”相关的问题
第1题
设有一棵用父指针数组表示作为其存储表示的有n个结点的树,编写一个算法、将此树的存储表示转换为子女-兄弟链表表示。

点击查看答案
第2题
针对一棵前序线索二叉树:(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;(2)编写算法,实
针对一棵前序线索二叉树:(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;(2)编写算法,实

针对一棵前序线索二叉树:

(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;

(2)编写算法,实现二叉树到前序线索二叉树的转换;

(3)编写算法,在以1为根的子树中求指定结点p的父结点;

(4)编写算法,求以t为根的子树的前序下的第一个结点

(5)编写算法,求以t为根的子树的前序下的最后一个结点;

(6)编写算法,求结点t的前序下的后继结点:

(7)编写算法,求结点t的前序下的前驱结点;

(8)编写算法,实现前序线索二叉树的前序遍历.

点击查看答案
第3题
设一棵二叉树采用二叉链表表示,编写一个算法,计算二叉树各层结点个数。

点击查看答案
第4题
编写一个递归算法,输出自然数1,2,…,n这n个元素的全排列。

点击查看答案
第5题
设一棵二叉树采用二义链表表示,编写一个算法:求二叉树的所有叶结点的值及其所在层次。

点击查看答案
第6题
针对一棵序线索二叉树:(1)编写算法,实现二叉树到后序线索二叉树的转换;(2)编写算法,求以t为根
针对一棵序线索二叉树:(1)编写算法,实现二叉树到后序线索二叉树的转换;(2)编写算法,求以t为根

针对一棵序线索二叉树:

(1)编写算法,实现二叉树到后序线索二叉树的转换;

(2)编写算法,求以t为根的子树的后序下的第一个结点;

(3)编写算法,求以t为根的子树的后序下的最后一个结点;

(4)编写算法,求结点t的后序下的后继结点;

(5)编写算法,求结点t的后序下的前驱结点;

(6)编写算法,实现后序线索二叉树的后序遍历

点击查看答案
第7题
设一棵二叉树采用二叉链表表示,编写一个算法,利用二叉树的后序遍历判该二叉树是否平衡。本题中“平衡”是指二叉树中任一结点的左、右子树高度的差的绝对值不超过1。

点击查看答案
第8题
设一棵二叉树采用二叉链表表示,编写一个算法利用二叉树的前序遍历求前序序列的第k个点。

点击查看答案
第9题
设一棵二叉树用二又链表表示,编写一个算法实现采用输入广义表表示的方式来建立二叉树的功能,
具体规定如下:

(1)树的根结点作为内子树构成的表的表名,放在表的最前面。

(2)每个结点的左子树和右子树用逗号隔开。若仅有在子树没有左子树,则逗号不能省略。

(3)在整个广义表表示输人的结尾加上一个特殊的符号(例如)表示输入结束。例如,对于如图5-26所示的二叉树,广义表表示为:A(B(D,E(G,)).C(,F))

点击查看答案
第10题
设在一棵二叉搜索树的每个结点中,含有关键码key域和统计相同关键码结点个数的count域,当向该
树插入一个元素时,若树中已存在与该元素的关键码柑同的结点,则就使该结点的count域增1,否则就由该元素生成一个新结点而插入到树中,并使其count域置为1,试按照这种插入要求编写一个算法。

点击查看答案
第11题
在二叉搜索树上删除一个有两个子女的结点时,可以采用以下方法:用左子树TL上具有最大关键码的
结点或者用右子树TR上具有最小关键码的结点顶替,再递归地删除适当的结点。可随机选择其中一个方案。试编写程序实现这个删除方法。

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改