ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:307KB ,
资源ID:627060      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-627060.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法及程序实现知识点.DOC)为本站会员(国***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

算法及程序实现知识点.DOC

1、7-1算法及程序实现知识点一、枚举算法及程序实现枚举算法基本思想是根据问题本身的性质,一一列举出该问题所有可能的情况,并根据题目的条件逐个作出判断,从中挑出符合要求的解。枚举算法属于搜索策略,适用于解变量确定的连续值域的问题。设计枚举算法时要在尽可能小的范围内罗列出所有可能的情况,不能遗漏,也不能重复。例:假如我有一个 QQ 的密码是一位数字,如果让同学们来破解的话,会把 0 到 9 十个数字都试一遍,找到密码,这种方法使用的算法就是枚举算法。枚举算法解题的主要方法,必须把所有的可能情况都一一列出来,这种可能情况,一般通过循环列举出来。例如课本例题,一份单据被抹除的数字的推算问题。可能的情况有

2、 25006 至 25996 一共 100 种,通过循环把这一百种情况全部列出来,在循环列出来的过程对,对每一种情况进行比较,是否符合要求。n=25006+j*100,j 的范围为 0 至 99,此处列出来的表达式只有一个未知数 j,所以只需用一重循环就够了。DO 循环c=0 如果需要统计符合要求的单据的张数的话,用 c 做计数器j=0do while ji then 把最小数据与待排序数据中的第一个交换kt=d(j)d(j)=d(k)d(k)=ktend ifnext i 结束第一重循环例1:选择排序的基本思想是在参与排序的所有数组元素中找出最小(或最大) 的元素,使它与第一个元素互换位置,

3、然后再在余下的元素中重复上述过程。有一组数,顺序是“2、6、4、1”,用选择排序法将这组数从大到小排序,第一次交换数据后的顺序是:(A) 6、2、1、4 (B) 6、4、2、1 (C ) 6、1、 2、4 (D) 6、2、4、1四、查找算法及程序实现1顺序查找顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;反之,查找不成功。流程图:d(1)=65;d(2)=97;d(3)=76;d(4)=13;d(5)=27;d(6)=49;d(7)=58查找 key=49程序实现:For i=1 to 7If d(i)=

4、key then输出找到是第 d(i)个Exit forEnd ifNext i7-72对分查找对分查找的基本思想是在有序的数据列中,首先将要查找的数据与有序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后半部分继续进行查找;在新确定的范围内,继续按上述方法进行查找,直到找到要查找的数据,使查找成功,或直到子表不存在,查找不成功。对分查找的条件是被查找的数据必须是有序的。对分(二分)查找过程:d(1)=13;d(2)=27;d(3)=49;d(4)=58;d(5)=76;d(6)=97;d(7)=102;d(8)=1

5、38;d(9)=202查找 k=138d(1)=13;d(2)=27;d(3)=49;d(4)=58;d(5)=76;d(6)=97;d(7)=102;d(8)=138;d(9)=202第一次 k 与 d(fix(1+9)/2 ) )=d(5)比较,比 d(5)大,下次在 d(5)的右边找d(1)=13;d(2)=27;d(3)=49;d(4)=58;d(5)=76;d(6)=97;d(7)=102;d(8)=138;d(9)=202第二次 k 与 d(5)右边的 d(fix(6+9)/2 ) )=d(7)比较,比 d(7)大,下次在 d(7)的右边找d(1)=13;d(2)=27;d(3)=

6、49;d(4)=58;d(5)=76;d(6)=97;d(7)=102;d(8)=138;d(9)=202第三次 k 与 d(7)右边的 d(fix(8+9)/2 ) )=d(8)比较,与 d(8)相等,找到。依次被访问进行比较的数字为:d(5) 、d(7) 、d(8)流程图:课本上的查找函数:Function search(key as integer) as integeri=1 i 代表待查找数列中的第一个元素的下标,刚开始时是 1j=9 j 代表待查找数列中的最后一个元素的下标,刚开始时是 9(因为一共 9 个元素)7-8nc=0 统计查找次数do while i=j 第一个元素的下标

7、要小于或等于最后一个元素的下标,否则待查找数列就不存在了nc=nc+1 每找一次增加一次m=fix(i+j )/2 求等查找数列中间数的下标if d(m)=key then 判断是否找到了search=m 找到了把下标存到变量 search 中exit function 退出函数end ifif keyd(m) then 要找的数 key 比现在比较的中间数小j=m-1 要找的数 key 比现在比较的中间数小,在待查找数列的左边找,所以新的待查找数列的最后一个元素的下标是现在中间元素下标 m 左边的一个elsei=m+1 要找的数 key 比现在比较的中间数小,在待查找数列的右边找,所以新的待查找数列的最后一个元素的下标是现在中间元素下标 m 右边的一个end ifloopsearch=0end function

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。