- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三节 查找算法设计 顺序查找和对半查找 一 顺 序 查 找 《红楼梦》研究和查找技术 早在20世纪80年代,就有研究机构组织力量把《红楼梦》录入了计算机,为研究工作带来了极大的方便。例如《红楼梦》研究中,经常要研究一些词的出现的频率(因为不同的作者有不同的写作习惯,依此可以帮助判断两断文字是否是同一作者)。 《红楼梦》中第三回里出现了多少人“黛玉”一词。 ?人脑: 简单 一个一个地检就是了,不存在深奥的学问 麻烦 文章太长,容易出错 ?电脑:再长也不怕,不易出错 Private Sub Form_Click() Open d:\红楼梦第三回.txt For Input As #5 假设光盘是d: Do Until EOF(5) Eof是指文件底部。当文件未到底部时重复 A$ = Input(1, #5) 在文件中读入一个字进变量A$ If A$ = 黛 Then 判断这个字是否黛字 B$ = Input(1, #5) 如果刚才是黛字则再读入一个字 If B$ = 玉 Then Total = Total + 1 若是玉则找到一个 End If Loop Print Total End Sub 认识顺序文件 纯文本文件是一种典型的顺序文件,它的数据是以字符的代码形式一个字符接一个字符地存储的。对顺序文件数据的操作只能按顺序进行,不能从中间插入。 对顺序文件的操作分为三步:打开文件、读或写操作、关闭文件。 详细内容见课本112—113页 1、打开文件 Open 文件名 For Input As#文件名 Open 文件名 For Output As#文件名 Open 文件名 For Append As#文件名 2、写入数据 Write Print 3、读出数据 Input 4、顺序文件结束的探测 Eof(文件号) 例:Eof(5) 5、关闭文件 Close[文件号] 例:Close(3) 数组 1.数组的概念 数组就是把有限个类型相同的变量用同一个名字命名,然后用编号来区分它们的变量的集合。 2.数组要注意的细节: (1)下标要紧跟在数组名后,而且用圆括号括起来。 (2)下标可以是常量、变量或表达式,但是其值必须为整数。 (3)下标必须为一段连续的整数,其最小值下界,最大值为上界。不加说明时下界的默认值为0. 数组的维数与定义 (1)如果数组只有一个下标就称为一维数组。有几个下标的数组就称为几维数组。 (2)数组应该在使用前定义,定义数组用dim语句。 dim cscore(1 to 20) as single dim k(20,30) as long 例: A ( 2, 1, 34, 2) = 98 数组的输入和输出 (1)数组元素的输入可以使用赋值语句、文本框、inputbox函数等。 (2)数组元素输出时,可以考虑两种方法: a. 用print方法直接输出到窗体,但当数据量大时难以实现数据的滚动。 b.使用控件,如标签、文本框等,并设置滚动条。 顺序查找 顺序查找的思路: 当查找的对象排列没有规律时可用顺序查找方法。顺序查找就是从头到尾一个一个地往下寻找,直到全部元素都查了一遍。如果要查找的目标只是单个的元素,那么查找的过程就特别简单,即把查找对象中的每个元素逐一与目标元素对照就可以了。 对半查找算法(折半、对分、二分) 中央电视台有一档收视率很高的节目叫“幸运52”,其中有一个环节,是让选手猜商品的价格,规则是给出商品的价格范围,主持人根据实际价格和选手报价给出提示:“高了”、“低了”、“正确”。曾经有一个选手,仅仅尝试猜了3次,就猜出了实际价格。当时给出的价格范围是100-300,实际价格是225。他猜的3个数是200(主持人:低了)、250(高了)、225(正确)。我们仔细分析这个选手的猜数过程,可以发现每次猜的数都是相应范围中间的数,这实际上采用了“对半查找”的算法思想。 对半查找算法(折半、对分、二分) 计算机的运行速度很快,但是如果数据昊很在,顺序查找的效率是不够。 对半查找的实质是一个有限且有序的对象中,通过每次减缩一半查找范围而达到迅速确定目标的一个有效算法,有着很广泛的应用。 两种查找算法区别 ?顺序查找 对象排列没有规律时可用顺序查找方法。 ?对半查找 对象是一个有限且有序的 * * 《红楼梦》 以贾宝玉林黛玉和薛宝钗的爱情悲剧为主线,通过对“贾、史、王、薛”四大家族荣衰的描写,展示了
文档评论(0)