算法
算法是解决特定问题的一个或一种方法
算法有许多特点:
1、有穷性
2、确切性
3、输入项
4、输出项
5、可行性
例如:
不是算法
时间复杂度
T(n)
一个算法的语句执行的次数被称为时间频度,表示为T(n),就是需要执行的次数,n表示题目规模
O(n)
O()就是时间复杂度,其中括号里填的数是T()里面的东西去掉系数和常数
例如桶排序的时间复杂度是O(n+k),因为桶排序的上面的循环最多执行k次,而下面最多跑n次所以里面是n+k。
常见时间复杂度
O(1),O(logn),O(n),O(nlogn),O(n2),O(n3),O(2^n),O(n!)
注:
1s大概可以运行10^8左右
时间复杂度 O(n) O(nlogn) O(n^2) O(n^3) O(2^n) O(n!) n的范围 n<10^8 n<5*10^5 n<10^4 n<500 n<25 n<15
对数
a * a * a ... a=a的x次方=n
x=log a n
空间复杂度
大小
模拟算法
##1、审题立意
不遗漏的把题目所有条件提取出来并分析题目样例
2、分析关系
分析给出的各个条件之间的关系,最好用流程图简单列出
3、编写程序
用相应的语言、逐步求精的方法写出具体的算法
4、调试运行
调试代码,测试样例,观察中间过程
5、构造数据
构造更复杂、更全面的数据,来测试程序的准确性
对拍
n^3 一号->结果
n 二号->结果
data->文件
结果一=结果二=准确