二分查找判定树构造方法探究及应用

摘要:通过对二分查找的算法进行分析,并结合二分查二分查找判定树构造方法探究及应用*找判定树的特点,提出一种快速画出二分查找的判定树的方法。该方法较传统方法更加直观,学生更容易理解掌握,而且比传统方法速度更快、效率更髙,通过实例验证了提出方法的有效性。关键词:快速方法;二分查找;判定树中图分类号:TP311文献标识码:ADoi:10.3969/j.issn.1003-6970.2012.04.006【Abstract]throughanalyzingbinarysearchalgorithm,weproposeafastgenerationofbinarysearchdecisiontreealgorithmcombiningwiththecharacteristicofbinarysearchdecisiontreealgorithm.themethodnotonlymorevisualizedbutalsofasterspeedandhigherefficiencythantraditionalmethod・Itismoreeasilyforstudentstounderstandandgrasp・Throughanexampletheeffectivenessofthismethodisverified.[Keywords]fastMethod,BinarySearch,Decisiontree0引言在《数据结构》中画出对n个结点的有序表进行二分查找的判定树的常规方法是按照二分查找的思想,采用递归的方法,对整个有序表中的每个元素都进行一次二分查找,才能最终确定该判定树。其过程较为复杂,要进行大量的运算,而且容易出现错误。以下通过对二分查找的算法进行分析,找到了一种更为方便快捷的方法,这种方法从解决实际问题的角度出发,在只要求画出判定树,并解决相应问题时,是非常实用的。1常规方法mid=(l+10)/2=5,根节点为5,此时的判定树如图1-a所示;2.缩小范围对左子表(1,2,3,4)进行查找,确定其的根。low=l,high=4,则mid=(l+4)/2=2,根节点为2,此时的判定树如图l-b所示;3.再缩小范围对子表(3,4)进行查找,确定其根。(1)从一个结点开始,每次增加一个结点,使该树满足条件a,最终得到8个结点的判定树的形状图,如图2-(a-h)所示。(2)假设图2-h按层编号A、B、C、D、E、F、G、H(图2-i),则中序遍历得DBEAFCGH把遍历结果与有序表对比把判定树中的字母按上表替换即可。如图2-j所示。(1)中国人民大学2001年考研试题第一题第2小题,在有序表A[l..12]中,采用二分查找算法等于A[12]的元素,所比较的元素下标依次为。本题可以采用本文提出的方法,直接绘制判定树,如图3所示,从图中直接可以得出答案为6,9,11,12olow二3,high二4,则mid二(3+4)/2二3,根节点为3此时的判定树如图1-C所示;依此类推……直至所有元素都被查找过为止,如图1-d所示。图312个结点的判定树(2)2010年全国硕士研究生入学考试计算机专业真题单项选择第9题已知一个长度为16的顺序表L,其元素按关键字有序排列,若采用折半查找法查找一个不存在的元素,则比较次数最多的是(),此题考察对折半查找最坏情况下的查找长度的理解,查找失败的过程就是从判定树的根结点到某个空指针结点的途径,16个结点的二分查找判定树如图4所示,从图中可以得出答案为5。查找失败最多比较次数不超过判定树的深度,也就是说n个结点的判定树的深度应该与n个结点的完全二叉树的深度相等,为21ogln+???,也可以计算出本题答案为5。用该方法解决问题和原方法相比由于不用再对每个关键字都进行二分查找,不需要进行繁琐的计算,速度快,并减少了出错的几率,即使在有序表的结点很多的时候也能快速的画出其二分查找地判定树,从而节省了做题时间,而且结点的增加或减少只需在树最底层添加或把最后插入的结点删除即可,而不用重新构造该树。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?