【计算机算法】算法概述

1、求解最大公约数(穷举法与欧几里得算法)

①穷举法

设置c循环枚举从n开始递减至1,在循环中逐个检测c是否满足条件: m%c0 and n%c0,最先满足的c即为所求。

②欧几里得算法

(1) 数 m 除以 n 得余数 r;若r=0,则n为所求的最大公约数。
(2) 若 r≠0,以n为m,r为n,继续(1).
欧几里德算法具体描述如下:
input(m,n); // 输入的简略表示
r=m%n;
while(r!=0) // 实施辗转相除
{ m=n; n=r; r=m%n; }
print(n); // 输出的简略表示
③时间复杂度:穷举法为O(n),欧几里得算法为O(logn)

2、求和

基本求和算法

在这里插入图片描述

时间复杂度:O(n3/2)

应用求和公式算法

在这里插入图片描述

时间复杂度:O(n1/2)

3、递归算法时间复杂度(排序、汉诺塔)

排序:
在这里插入图片描述汉诺塔:
在这里插入图片描述

4、vector的函数

在这里插入图片描述
在这里插入图片描述

おすすめ

転載: blog.csdn.net/passer__jw767/article/details/112128225