伪代码规则:注意关键字不区分大小写

变量声明语句:Dim<变量> As <类型> 如:Dim a As INTEGER;

赋值语句:<变量>=<表达式> 如:a = 1; 或 a <- 1;

输入与输出:Input 与Output;

简单运算符:a + b > c;

复合条件:(a < b) AND (c < d);

IF条件子句:

if a = b Then

    i = i + 1;

    Else i = i - 1

EndIf

多重选择case子句:

case <变量> of

case 1: <条件>

    i = i  + 1;

case 2: <条件>

    i = i + 2;

EndCase

For循环子句:

For<计数器>=<开始>To<结束>

<循环体>

EndFor

While循环子句:

Do While <条件> 或 While

<循环体>

EndWhile

Until 循环子句:

Do

<循环体>

Until<条件>

 

算法分析:


java伪代码的简单例子 伪代码do until_最大公约数

时间复杂度:

往往只关注最坏情况的运行时间,所以只求算法的最长时间;

只关注最重要的增长量级,比如 an² + bn + c,只关注n²;

算法中常用符号:

渐近符号:

(1)O符号,渐近紧确上界,f(n) = O(g(n)),表示存在正常量c和n0使得对所有n ≥ n0,有  0 ≤ f(n) ≤ cg(n) ,即小于等于,f(n)不高于g(n)的阶;

(2)Ω符号,渐近紧确下界,f(n) = Ω(g(n)),表示存在正常量c和n0使得对所有n ≥ n0,有  0 ≤ cg(n) ≤ f(n) ,即大于等于,f(n)不低于g(n)的阶;

(3)o符号,非渐近紧确上界,f(n) = o(g(n)),表示存在正常量c和n0使得对所有n ≥ n0,有  0 ≤ f(n) < cg(n) ,即小于,f(n)低于g(n)的阶;

(4)ω符号,非渐近紧确下界,f(n) = ω(g(n)),表示存在正常量c和n0使得对所有n ≥ n0,有  0 ≤ cg(n) < f(n) ,即大于,f(n)高于g(n)的阶;

(5)Θ符号,渐近紧确界,f(n) = Θ(g(n)),表示存在正常量c1,c2,n0使得对所有n ≥ n0,有 0 ≤ c1g(n) ≤ f(n) ≤ c2g(n),f(n)与g(n)同阶;

举例说明渐近符号的相关用法:

1、插入排序的时间复杂度是O(n²),代表插入排度的时间复杂度是一个小于等于n²的集合(1,n,n²等),时间复杂度即可以是1也可以是n²;

2、如果时间复杂度是Θ(2n²),代表时间复杂度可以是n²,2n²,3n²等;

3、如果时间复杂度是Ω(n²),代表时间复杂度可以是n²,n^3等;

4、如果时间复杂度是o(n²),代表时间复杂度可以是1,n,2n等但不是能n²;

5、如果时间复杂度是ω(n²),代表时间复杂度可以是n^3,n^4等但不是n²;

标准记号与常用函数:

1、下取整(floor)与上取整(ceiling);

2、取模运算: a mod b的值即a/b的余数;

3、整除:a | b;

4、对数:

java伪代码的简单例子 伪代码do until_java伪代码的简单例子_02


欧几里得算法:

两个整数的最大公约数,等于小整数与两整数相除的数的最大公约数;

证明:

a可以表示成a = kb + r,则r = a mod b                      

假设d是a,b的一个公约数,则有

d|a, d|b,而r = a - kb,因此d|r

因此d是(b,a mod b)的公约数

假设d 是(b,a mod b)的公约数,则

d | b , d |r ,但是a = kb +r

因此d也是(a,b)的公约数