AKSZ-算法入门
2024-03-10 17:59:43
发布于:广东
算法入门
1.算法的特征
1.有穷性
2.确切性
3.输入项
4.输出项
5.可行性
2.求和公式
3.时间频度 T(n)
一个算法的语句执行的次数称为语句频率或者时间频度,表示为
4.时间复杂度O(n)
1.常见排序
- 选择排序 O(n^2)
- 冒泡排序 O(n^2)
- 插入排序 O(n^2)
- 桶排序 O(n+k)
桶排序代码如下:
int n;
cin>>n;
for(int i=0;i<n;++i){
int x;
cin>>x;
a[x]++;
}
for(int i=0;i<=k;++i){
for(int i=0;i<=k;++i){
cout<<i;
}
}
2.常见时间复杂度
3.运算量随着规模的变化
运算量 | ||||||
---|---|---|---|---|---|---|
最大规模 | 11 | 26 | 464 | 10^4 | 4.5*10^6 | 10^8 |
速度扩大 | 11 | 27 | 584 | 14142 | 8.6*10^6 | 2*10^8 |
5.空间复杂度(256M)
6.对数
7.模拟算法
1.审题立意
不遗漏 分析题目样例
2.分析关系
最好用流程图或简单表格列出
3.编写程序
用相应的语言、逐步求精的方法描述具体的算法
4.调试运行
输出中间重要过程
5.构造数据
构造一些更复杂、更全面的测试数据来检查程序的正确性
8.如何让程序正确性更高——对拍
对拍代码
#include<bits/stdc++.h>
using namespace std;
int main(){
while(1){
system("数据.exe>test.in");
system("正解代码.exe<test.in>my.out");
system("暴力.exe<test.in>std.out");
if(system("fc my.out std.out")){//返回非0表示有差异
system("pause");
}
}
return 0;
}
缺点:1.只要求输出正解;2.数据范围过大
全部评论 1
不错,很清晰
2024-03-10 来自 广东
0
有帮助,赞一个