1.a+b+c=1000, a2+b2=c^2(a,b,c为自然数),求abc所有组合
枚举法
A (0,10001) B C
3个for 循环
算法计算的方法
实现的语言不重要 思想
2.算法的五大特性
有穷性 ,输入 输出, 有穷性, 确定性, 可行性
3.时间复杂度
执行时间反应算法效率
时间复杂度和“o”
每台机器执行 的总时间不同 执行的基本运算数量大体相同
Method1
T=1000100010002
T=2000200020002
T=NNN2
T=N^32和 T=N^3*10一个数量级
n的三次方
T=N^32和 T1=N^3c
T是T1的渐进函数
4.最优时间复杂度 工作完成最少需要多少基本操作
最坏时间复杂度 工作完成最多需要多少基本操作
算法完成平均需要多少基本操作 平均时间复杂度
算法 首先关注最坏时间复杂度 然后 最优时间复杂度
5.基本操作 只有常数项 认为其时间复杂度 为O(i)
顺序结构 时间复炸度按加法计算
循环结构 时间复杂度按乘法计算
分支结构 时间复炸度 取最大值
判断一个算法效率的时候, 往往只需要关注操作数量的最高次项,其他次要项和常数项可以忽略
在没有特殊说明时候,我们所分析的算法的时间复杂度是指最坏时间复炸度
O(N^2) 第二个方法
6.常见的时间复杂程度
12 O(1)
2n+3