画出对长度为10的有序表进行折半查找的判定树

过程不是很清楚,能给小白我说说吗,谢谢啦... 过程不是很清楚,能给小白我说说吗,谢谢啦 展开
 我来答
风若远去何人留
推荐于2017-12-15 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450113
专业C/C++软件开发

向TA提问 私信TA
展开全部

长度为n的折半查找判定树的构造方法为:

 ⑴ 当n=0时,折半查找判定树为空; 

⑵ 当n>0时,折半查找判定树的根结点是有序表中序号为mid=(n+1)/2的记录,根结点的左子树是与有序表r[1] ~ r[mid-1]相对应的折半查找判定树,根结点的右子树是与r[mid+1] ~ r[n]相对应的折半查找判定树。 


题目中 长度为10的折半查找判定树的具体生成过程为: 

⑴ 在长度为10的有序表中进行折半查找,不论查找哪个记录,都必须先和中间记录进行比较,而中间记录的序号为(1+10)/2=5(注意是整除即向下取整),即判定树的根结点是5,如图(a)所示; 

⑵ 考虑判定树的左子树,即将查找区间调整到左半区,此时的查找区间是[1,4],也就是说,左分支上为根结点的值减1,代表查找区间的高端high,此时,根结点的左孩子是(1+4)/2=2,如图(b)所示; 

⑶ 考虑判定树的右子树,即将查找区间调整到右半区,此时的查找区间是[6,10],也就是说,右分支上为根结点的值加1,代表查找区间的低端low,此时,根结点的右孩子是(6+10)/2=8,如图(c)所示; 

⑷ 重复⑵⑶步,依次确定每个结点的左右孩子,如图(d)所示。

来自:求助得到的回答
四季365美食
2018-03-30 · TA获得超过1.3万个赞
知道小有建树答主
回答量:134
采纳率:48%
帮助的人:13.2万
展开全部

长度为n的折半查找判定树的构造方法为:

⑴ 当n=0时,折半查找判定树为空; 

⑵ 当n>0时,折半查找判定树的根结点是有序表中序号为mid=(n+1)/2的记录,根结点的左子树是与有序表r[1] ~ r[mid-1]相对应的折半查找判定树,根结点的右子树是与r[mid+1] ~ r[n]相对应的折半查找判定树。 

题目中 长度为10的折半查找判定树的具体生成过程为: 

⑴ 在长度为10的有序表中进行折半查找,不论查找哪个记录,都必须先和中间记录进行比较,而中间记录的序号为(1+10)/2=5(注意是整除即向下取整),即判定树的根结点是5,如图(a)所示; 

⑵ 考虑判定树的左子树,即将查找区间调整到左半区,此时的查找区间是[1,4],也就是说,左分支上为根结点的值减1,代表查找区间的高端high,此时,根结点的左孩子是(1+4)/2=2,如图(b)所示; 

⑶ 考虑判定树的右子树,即将查找区间调整到右半区,此时的查找区间是[6,10],也就是说,右分支上为根结点的值加1,代表查找区间的低端low,此时,根结点的右孩子是(6+10)/2=8,如图(c)所示; 

⑷ 重复⑵⑶步,依次确定每个结点的左右孩子,如图(d)所示。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式