文章

87

粉丝

0

获赞

1

访问

17.3k

头像
2022年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年8月9日 10:21
阅读数 65

(1)二叉搜索树定义是左子树结点均小于根结点,右子树结点均小于根结点,设置一函数用于递归,超出数组下标的结点视为空结点,-1结点视为不存在的结点,若搜索至此该两节点满足搜索树定义,结束遍历,在每次递归时,将根节点视作左子树的最大值,右子树的最小值,直到遍历完毕,输出判断结果。
(2)
bool judgeTree(SqBiTree T, int i,int low ,int high)
{

if(i>T.ElemNum||T.SqBitNode[i]==-1)return true;
if(T.SqBitNode[i]<low||T.SqBitNode[i]>high) return false;
bool a=judgeTree(T,2i+1,low,T.SqBitNode[i]);

bool b=judgeTree(T,2i+2,T.SqBitNode[i],high);

return a&&b;
}
运行函数;


评分及理由

(1)得分及理由(满分4分)

得分:3分

理由:学生的基本设计思想正确,提到了二叉搜索树的定义和递归方法,但描述中有一处错误("右子树结点均小于根结点"应为"右子树结点均大于根结点")。此外,描述较为简略,没有详细说明递归过程中如何维护上下界。

(2)得分及理由(满分9分)

得分:6分

理由:代码实现基本正确,但有以下问题:
1. 函数名拼写错误(SqBitNode应为SqBiTNode)
2. 乘法运算符缺失(2i+1应为2*i+1)
3. 缺少初始调用时的上下界设置(LONG_MIN和LONG_MAX)
4. 缺少运行函数的具体实现
5. 代码格式不规范(缺少必要的空格和换行)

题目总分:3+6=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发