常用算法
熟练地掌握算法原理、编程思想和代码实现,就能够做到举一反三,轻松备考,顺利过关。
1.累加与连乘
基本思想:设置初值,循环计算。
扩展:
(1)计算指定范围内某一个数的倍数之和。
(2)计算某范围内所有数的乘积。
(3)求某一个数列的和。
2.生成N个不同的随机数
基本思想:将生成的数送入一个数组,每生成一个数后与数组中已有的数比较,如相同则丢弃,重新生成可使用语句Exit For。
3.求素数、极值
求素数基本思想:素数的意义;实现方法:双重循环,外循环判断每一个数,内循环判断能否被某数整除。
求极值基本思想:设第一个数为极值数,然后进入循环与其比较,超过则替换。
4.排序
(1)选择法:每次先找出最小数所在的F标,排序结束后,交换最小数的位置。
(2)冒泡法:两两比较后交换。
(3)合并法:将两个有序的数组合并成一个仃序的数组。两个数组中的数两两比较,小者放入目标数组,直到.个数组为窄。
(4)插入法:每输入或生成一个数马上插入到数组中使其有序。
5.数列的插入、删除和重组
(1)插入:对原数组进行扩充,循环查找插入位置(逐个比较),找到后,从后向前依次移动每一个数字,直到该位置,然后将数据插入。
(2)删除:与插入类似,也是先查找位置,找到后,将该位置以后的每一个元素依次前移。
(3)重组:采用排序或移动元素的思想,具体情况具体分析,如奇偶数的分开等。
6.穷举与递推
(1)穷举:利用循环将所有可能逐个测试,直到条件成立为止,如百钱买百鸡问题、钱币折零问题等。
(2)递推(迭代):将一个复杂的计算过程转化为简单过程的重复,通常也是利用循环实现,这一次计算的结果作为下一次的变量继续进行计算,直到满足指定的条件,如猴子吃桃问题、计算近似数问题、数列计算问题等。
7.顺序查找
基本思想:利用循环逐个比较待查找值,找到后退出,一般要使用Exit语句。
8.递归
基本思想:需要解决的问题必须用递归的方式进行描述,才能转变为递归过程,原则上所有的迭代过程都可以使用递归
过程来实现。递归描述有两个关键要素:一是递归结束的条件;二是迭代公式(此次的结果能够作为下一次的变量)。
递归过程的分析:递推n次直到结束条件满足,回归n次得到运算结果。
典型递归:阶乘的计算1!=1,n!=n*(n-1)!
最大公约数gcd(m,n):m mod n=0,gcd=n;gcd(m,n)=gcd(n,m mod n)
二分法查找search:中点值=关键值,结束;改变low、high后,递归调用search(a0,low,high,key,index)。
9.分类统计
统计各种类型的数据,如字母出现的次数、奇偶数统计等。基本思路是掌握分类条件的表示,设置各种类型的计数器(可以用数组),利用循环来解决。
10.字符串处理、加密与解密
字符串处理:输入(inputbox函数或文本框)、求长度(1en函数,汉字问题)、循环处理。典型考点:分离指定字符、分类统计、字符串的重组、字符的插入与删除等。
加密与解密:理解加密算法(移位法、密钥表)。
整型数据的处理:各位数字的拆分;数的因子;最大公约数gcd(m,n)=a与最小公倍数m*n/a;素数与合数;互质数(两个数的最大约数为1,两个数有公因子)。
更多精彩资讯请关注查字典资讯网,我们将持续为您更新最新资讯!