首页 > 医卫考试
题目内容 (请给出正确答案)
[主观题]

编写一个递归算法,从大到小输出二叉搜索树中所有值不小于x的关键码。要求算法的时间复杂度为O(log2n+m),n为树中结点数,m为输出的关键码个数。

编写一个递归算法,从大到小输出二叉搜索树中所有值不小于x的关键码。要求算法的时间复杂度为O(log2n+m),n为树中结点数,m为输出的关键码个数。

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“编写一个递归算法,从大到小输出二叉搜索树中所有值不小于x的关…”相关的问题
第1题
二叉搜索树可用来对n个元素进行排序。试编写一个排序算法,首先将n个元素a[1..n]插人到一个空的

二叉搜索树中,然后对树进行中序遍历,并将元素按序放人数组a中,为简单起见,假设a中的数据互不相同。试编写一个函数,从一棵二叉搜索树中删除最大元素。要求函数的时间复杂性必须是O(h),其中h是二叉搜索树的高度。

点击查看答案
第2题
编写一个算法,判定给定的关键码值序列(假定关键码值互不相同)是否是二叉搜索树的搜索序列。若是则函数返回1,否则返回0。
编写一个算法,判定给定的关键码值序列(假定关键码值互不相同)是否是二叉搜索树的搜索序列。若是则函数返回1,否则返回0。

点击查看答案
第3题
试证明:a)按照二叉搜索树的基本算法在AVL树中引入一个节点后,失衡的节点可能多达Ω(logn)个;b)按照二叉搜索树的基本算法从AVL树中摘除一个节点后,失衡的节点至多1个。

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

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

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

点击查看答案
第7题
已知一组递增有序的关键码k[n]:k[0]≤k[1]≤…≤k[n-1],在相等搜索概率的情况下,若要生成一棵二叉
搜索树,以哪个关键码值为根结点,按什么方式生成二叉搜索树平衡性最好且方法又简单?阐明算法思路,写出相应的算法。如果k[11]为:7,12,13,15,21,33,38,41,49,55,58。按上面算法画出这棵二叉搜索树。

点击查看答案
第8题
实现二义树的后序遍历的非递归算法而不使用栈,最佳方案是二叉树的存储结构采用()表示。
实现二义树的后序遍历的非递归算法而不使用栈,最佳方案是二叉树的存储结构采用()表示。

A、二叉链表

B、广义表

C、三叉链表

D、烦序

点击查看答案
第9题
试证明,采用BST::remove()算法(教材198页代码7.6)从二叉搜索树中删除节点,若实际被删除的节点为x,则此后:a)除x的历代祖先以外,其余节点的高度无需更新;b)祖先高度不会增加,但至多减一;c)一旦某个祖先高度不变,更高的祖先也必然高度不变。d)利用以上事实,进一步改进updateHeightAbove()方法,提高效率。

点击查看答案
第10题
编写一个递归算法,找出从自然数1,2,3,…,n中任取r个数的所有组合。例如n=5,r=3时所有组合为543,
542,541,532,531,521,432,431,421,321。

点击查看答案
第11题
所谓半无穷范围查询(semi-infinite range query),是教材8.4节中所介绍一般性范围查询的特例,具

所谓半无穷范围查询(semi-infinite range query),是教材8.4节中所介绍一般性范围查询的特例,具体地,这里的查询区域是某一侧无界的广义矩形区域,比如R=[-1,+1]x[0,﹢∞),即是对称地包含正半y坐标轴、宽度为2的一个广义矩形区域,当然,对查询的语义功能要求依然不变——从某一相对固定的点集中,找出落在任意指定区域R内部的所有点。

范围树(176页习题[8-20])稍作调整之后,固然也可交持半无穷范围查询,但若能针对这一特定问题所固有的性质,改用优先级搜索树(priority search tree,PST)之类的数据结构,则不仅可以保持O(r+logn)的最优时间效率,而且更重要的是,可以将空间复杂度从范围树的O(nlogn)优化至O(n)。

如图x10.3所示,优先级搜索树除了首先在拓扑上应是一棵二叉树,还同时遵守以下三条规则。

①首先,各节点的y坐标均不小于其左右孩子(如果存在)——因此,整体上可以视作为以y坐标为优先级的二叉堆。

②此外,相对于任一父节点,左子树中节点的x坐标均不得大于右子树中的节点。

③最后,互为兄弟的每一对左、右子树,在规模上相差不得超过一。

a)试按照以上描述,用C/C++定义并实现优先级搜索树结构;

b)试设计一个算法,在O(nlogn)时间内将平面上的n个点组织为一棵优先级搜索树;

c)试设计一个算法,利用已创建的优先级搜索树,在O(r+logn)时间内完成每次半无穷范围查询,其中r为实际命中并被报告的点数。

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