版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vb算法复习概要纲要Vb算法复习概要纲要8/8肀PAGE8膈莆螄袁薂节蝿膄芈芆膅肂芄薁薈肇莇膆薆聿蚂肃薁蚆莇肆蚃芀蒄莁莀芅蒇羆肄薁袂羃腿袄薇羇蒅蒈薃膁膂蒃蚇袇袅蝿肁螃羀芆螇螇芆羀螃肁蝿袅袇蚇蒃膂膁薃蒈蒅羇薇袄腿羃袂薁肄羆蒇芅莀莁蒄芀蚃肆莇蚆薁肃蚂聿薆膆莇肇薈薁芄肂膅芆芈膄蝿节薂袁螄莆膈薄肀羄肄虿莃蒆肈羅芁蒂莂莈芇蒆羈莆艿膄蚀蒁袆薅袈薃蒀蚂膃膀蒅蚅螈羄蚁莄蒁罿肄聿螈莅蚈螂肃羂蚃腿蚈螆衿蒄芁螁蒆腿蕿膇膀羁袃薀肅艿葿芃莁蚃膁莈蚄荿Vb算法复习概要纲要算法的程序实现
一、解析法:
解析法是在解析详尽问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析表达式表示出来,解决了这些表达式,问题也就得以解决了。
解析法是程序设计中最常用的算法之一。
重点:解析问题,得出解析表达式。
二、穷举法:
也叫列举法、列举法,是将求解对象一一列举出来,逐一加以解析、办理,并考据结果可否满足给定的条件,穷举完整部对象,问题将得以解决。
重点:穷举范围考据条件
穷举用for循环和do循环实现。
穷举范围要要包括所有可能,不能够遗漏,在此前提下要尽量减小范围,提高效率。
三、查找:数组:想同种类的变量会集,
会集中的每个元素都是独立的变量,
它们能够经过数组序号被
引用。(一)序次查找:从数据的第一个元素开始,从前向后按数据的序次查找指定的重点值。
程序通式:
x=[表达式]’从表达式获取要查找的重点值
fori=0to[数组最大下标]’经过循环实现逐一查找。也可用do循环
ifx=[数组名](i)then’考据数据和重点值可否般配,般配表示找到
,,’找到了今后做什么呢?就是这个“。。。”
,,
exitdo’若是确信般配项只有一个,那么找到后就退出循
环,不需要连续查找了。
Endif
NextiIfi>[数组最大下标
]then
。。。
’若是找到循环就会提前退出,i就会小于等
于终值,因此,i大于终值说明没找到到。
若是没找到就。。。
说明:若是般配项有很多项的话,找到后就不能够用exitdo退出循环,而应连续向下查
找,此时应该用flag变量做一个标记,初始值为0,找到后,把它改为1。
(二)二分查找:也叫折半查找,设置一个上界和一个下界,尔后取上下界的中间元素与指定的重点值比对,若是切合则表示找到,不符则依照重点值在左半部还是右半部舍弃别的一半,调整上、下界,重取中间值查找。当下界大于上界时则表示没有该数据。
二分查找的数据必定是有序的。
通式:
x=[表达式]’获取查找重点值。
intlow=0inthigh=[
数组最大元素下标
]
intmid=(intlow+inthigh)\2dountilintlow>inthigh
’最初的一次查找’进入循环查找,直到
intlow>inthigh
时,表示找不到
ifa(intmid)=xthen’条件般配,表示找到,则退出循环,不再连续查找
exitdo
elseifa(intmid)<xthen’找到的比目标值小,则调整intlow
intlow=intmid+1
intmid=(intlow+inthigh)\2’重设intmid,进行下一次查找
else’以上条件都不满足,表示找到的比目标值大,需调整inthigh
inthigh=intmid-1
intmid=(intlow+inthigh)\2
endif
loop
ifintlow>inthighthen’如何判断找没找到呢?就经过intlow和inthigh比较来实现
。。。。。’intlow>inthigh表示没找到,就。。。。。。
。。。。。
。。。。。else
’若是找到,就。。。。
。。。。
。。。。endif
以上通式的循环查找部分能够优化为:
dountilintlow>inthighora(intmid)=xifa(intmid)<xthen
’找到的比目标值小,则调整
intlow
intlow=intmid+1intmid=(intlow+inthigh)\2else
’重设intmid,进行下一次查找
’以上条件都不满足,表示找到的比目标值大,需调整
inthigh
inthigh=intmid-1
intmid=(intlow+inthigh)\2
endif
loop四、冒泡排序:
经过将相邻的元素进行比较和交换,渐渐将一个无序序列排列为一个有序序列。
元素按从小到大排称为升序,按从大到小排称为降序。
排序通式一:fori=0to[数字个数]-2
forj=0to[数字个数
ifa(j)>a(j+1)then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
endif
nextj
nexti
]-2
–i
说明:第二行也可改为forj=1to[
此时,应该比较和交换a(j)
数字个数
和a(j-1)
]-1
–i
或
forj=[
数字个数
]-1toi+1step
–1
五、递归法:
定义一个函数时,这个函数直接或间接地调用了自己,就是递归。
递归重点:一是要找到递推的通式,二是要找到开始回归的递推终点。因此,递归函数一般都是两段式if语句结构,一个分支是回归点,一个是递推通式。
程序通式:
程序开始后,在主过程中调用递归函数,尔后函数依照递推通式不断调用自己,到回归点后
再逐级返回。函数返回值以函数名=表达式的方法返回。
函数:function
f(byvaln
as
参数种类)
as
函数种类
if
n=[回归条件
]then
f=[表达式]
’若是满足回归条件,
表示递推已达终点,开始返回,[函数名
]=[表达式
]。
elsef=[递推通式
]
’不满足回归条件,则不断调用自己,逐级向下递推
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论