版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法思想数组与算法一、算法选择排序:在参加排序数组的所有元素中找出最小(或最大)数据的元素,使它与第一个元素中的数据相互交换位置。然后再在余下的元素中找出最小(或最大)数据的元素,与第二个元素中的数据相互交换位置。以此类推,直到所有元素成为一个有序的序列。具有较高的效率。冒泡排序:依次比较相邻的两个数,若前一个数比后一个数大就对调两个数的位置,也就是将较大的放在后面,较小的数放在前面,否则就不对调。顺序查找:进行查找时,一般从数据的第1个元素开始,按照数据的顺序查找指定的关键值;如果被查数据和该关键值相匹配,则表示找到;否则,则表示被查数据中不存在该关键值,查找失败。二分法查找:在有序的数列中,将要查找的数据与有序数列内处于中间位置的数据进行比较,如果两者相等,则查找成功。否则就根据数据的有序性,在确定该数据的范围应该在数列的前半部分还是后半部分;在新确定的缩小范围内,继续按上述方法进行查找,直到找到要查找的数据,即查找成功,如果要查找的数据不存在,即查找不成功。枚举算法:枚举算法也称穷举算法,就是按照问题本身的性质,一一列举该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否问题真正的解。若是,就采纳这个解,否则就抛弃它。在列举的过程中,既不能遗漏,也不能重复。解析算法:解析算法是指用解析的方法找出问题的前提条件与所求结果之间关系的数学表达
式,并通过表达式的计算来实现问题求解。基本思想:就是按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中(不能遗漏、重复),检验每个可能解是否是问题的真正解,若是,就采纳这个解,否则就抛弃它.二、枚举算法PrivateSubCommand1_Click()DimcAsInteger,jAsInteger,nAsIntegerc=0Forj=0To99Step1n=25006+j*10If(nMod37=0)Or(nMod67=0)Thenc=c+1List1.AddItemStr(n)EndIfNextjText1.Text=Str(c)EndSub基本思想:是指用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。三、解析算法Privatesubcommand1_click()dimmasinteger,kasinteger,yasintegerdimxasdoublem=val(text1.text)k=val(text2.text)x=(k-m)/(0.028*m)y=fix(x)ify<xtheny=y+1text3.text=“存期应为”+str(y)+”年”Endsub储蓄顾问:M元钱需要存多少年,才能得到至少K元本息?年利率均为2.8%1209688三、选择排序Fori=1Ton-1k=i
For
j=i+1Ton
Ifd(j)<d(k)Thenk=jnextjifi<>kthen
t=d(i)
d(i)=d(k)
d(k)=t
EndIfNextid12345ik第一遍j10875变式:Fori=1Ton-1
For
j=i+1Ton
Ifd(i)<d(j)Then
t=d(j):
d(j)=d(i):
d(i)=t
EndIf
NextjNextI四、冒泡排序Fori=1Ton-1
For
j=nToi+1step-1
Ifd(j)<d(j-1)Then
t=d(j)
d(j)=d(j-1)
d(j-1)=t
EndIf
NextjNextId(1)d(2)d(3)d(4)jj-1i18323627d(j)<d(j-1)变式:Fori=1Ton-1
For
j=1Ton-i
Ifd(j)<d(j+1)Then
t=d(j)
d(j)=d(j+1)
d(j-+)=t
EndIf
NextjNexti1.选择排序效率>
冒泡排序2.选择排序交换次数<冒泡排序,选择排序每遍最多交换一次,冒泡最多n-1次3.比较次数相等=n*(n-1)/2冒泡排序和选择排序比较五、顺序查找c=Int(Rnd()*55)+1Dowhilei<=nandnotflagIfc=a(i)Thenflag=Truei=i+1Loop
IfflagThenlabel1.caption=“恭喜”+b(i)+“同学“Elselabel1.caption=“没有找到”EndIfc=Int(Rnd()*n)+1Fori=1TonIfc=a(i)Thenlabel1.caption=“恭喜”+b(i)+“同学"ExitForEndIfNextiIfi>55ThenText2.Text=“没有该学号"EndIfEndSub六、二分法查找i=1:j=n:flag=FalseDowhilei<=jandnotflagM=fix((i+j)/2)
Ifd(m)=keythenflag=trueElseIfkey>d(m)theni=m+1'重新确定查找范围
Elsej=m-1EndifLoopM=(i+j)\2Ifflagthensearch=m递归算法一个子程序或过程中调用该子程序本身。Function(f(nasinteger)aslongIfn<=1thenf=1Elsef=n*f(n-1)EndifEndfunctionSubcommand1_click()DimnkaslongDimnasintegerN=val(text1.text)Nk=f(n)Text2.text=str(nk)Endsub综合运用实例:2013年各省GDP用来查询2013年全国各省(市/自治区)GDP情况的VB程序界面如图。期中31个省(市/自治区)的具体数据存放在数据库文件“count.accdb”的“GD[”表中。运行程序,在列表框list1中显示各省份及其对应的GDP信息。在文本框text1中输入要查询的省(市/自治区)名称后,单击“查询”按钮command1,在文本框text2和text3中分别显示该省(市/自治区)所对应的GDP数据与全国排名,按此要求编写的程序如下:Dimpv(1To31)Dimgdp(1To31)AsSingleDimiAsIntegerPrivateSubcommand1_click()DimmAsSingle,nAsString,jAsIntegerFori=1To30Forj=31Toi+1Step-1Ifgdp(j)>gdp(j-1)Then'①m=gdp(j):gdp(j)=gdp(j-1):gdp(j-1)=mn=_________________________________________'②EndIfNextjNextii=1'以下dowhile语句为加虚线框,即第三小题DoWhilei<32IfText1.Text=pv(i)ThenText2.Text=Str(gdp(i))Text3.Tex t=Str(i)ExitDoElsei=i+1EndIfLoop Ifi=32ThenText1.Text="输入有误,请重新输入!"EndSub1.加线框语句在程序运行完毕后,共执行了__次?2.2处划线处代码为________________3.加虚线框处的程序采用哪种查找算法?______PrivateSubForm_Load()DimconnAsNewADODB.Connection,rsAsNewADODB.RecordsetDimstrsqlAsStringconn.ConnectionString="provider=microsoft.ace.oledb.12.0;datasource="&App.Path&"\count.accdb"conn.Openstrsql="select*fromGDP"Setrs.ActiveConnection=connrs.Openstrsqli=0DoWhileNotrs.EOFi=i+1pv(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 台中市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(历年真题)
- 潍坊市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(综合题)
- 金门县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(轻巧夺冠)
- 金门县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套参考答案详解
- 通辽市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(黄金题型)
- 北海市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(满分必刷)
- 恩施州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(综合卷)
- 2026年亳州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(夺分金卷)
- 威海市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(预热题)
- 宿州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(满分必刷)
- 《杰出企业家刘强东的传奇人生》课件
- 《走进汽车》 课件 项目2 走进汽车课堂
- 车辆驾驶业务外包方案投标文件(技术方案)
- ISO13485质量体系培训讲义
- 企业会计准则第4号-固定资产(2024年)
- 大学英语听说知到智慧树章节测试课后答案2024年秋湖北科技学院
- DB12T 1121-2022 基坑降水水资源论证技术规程
- 装修抵扣房租合同范例
- 中药香薷课件
- 山西省太原市常青藤中学校、李林中学2024-2025学年高一上学期10月联考英语试题
- 《飞机维修基本技能(活页式)》高职全套教学课件
评论
0/150
提交评论