首页 > 医生资格
题目内容 (请给出正确答案)
[主观题]

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

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

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

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
更多“编写一个递归算法,在一棵有n个结点的随机建立起来的二叉搜索树…”相关的问题
第1题
针对一棵前序线索二叉树:(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;(2)编写算法,实
针对一棵前序线索二叉树:(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;(2)编写算法,实

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

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

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

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

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

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

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

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

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

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

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

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

针对一棵序线索二叉树:

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

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

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

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

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

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

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

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

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

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

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

点击查看答案
第7题
若用二叉链表作为二叉树的存储表示,试针对以下问题编写递归算法:(1)统计二叉树中叶结点的个数。(2)以二叉树为参数,交换每个结点的左子女和右子女。
若用二叉链表作为二叉树的存储表示,试针对以下问题编写递归算法:(1)统计二叉树中叶结点的个数。(2)以二叉树为参数,交换每个结点的左子女和右子女。

点击查看答案
第8题
从左到右及从右到左遍历一个单链表是可能的,其方法是在从左向右遍历的过程中将连接方向逆转,
如图2-3所示。图中的指针p指向当前正在访问的结点,指针pr指向指针p所指结点的左侧的结点。此时,指针p所指结点左侧的所有结点的链接方向都已逆转。

(1)编写一个算法,从任一给定的位置(pr,p)开始,将指针p右移k个结点。如果p移出链表,则将p为0,并让pr停留在链表最右边的结点上。

(2)编写一个算法,从任一给定的位置(pr,p)开始,将指针p左移k个结点。如果p移出链表,则将p置为0,并让pr停留在链表最左边的结点上。

点击查看答案
第9题
已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值,试设计一个算法,从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示.

点击查看答案
第10题
广义表具有可共享性,因此在遍历一个广义表时必须为每一个结点增加一个标志域mark,以记录该结
点是否访问过。一旦集一个共享的子表结点被作了访问标志,以后就不再访问它.

(1)试定义该广义表的类结构,

(2)采用递归的算法对一个非递归的广义表进行遍历。

(3)试使用一个栈,实现一个非递归算法,对一个非递归广义表进行遍历。

点击查看答案
第11题
试编写一个非递归算法,输出广义表中所有原子项及其所在层次。

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