线性结构
树形结构 : 非线性结构
图形结构:非线性结构
集合结构
顺序存储
链式存储
增删改查
抽象性
扩展性
### 5.指令序列
输入:有零或多个外部量(参数)作为算法的输入
输出:至少产生一个结果
确定性:组成算法的每条指令清晰,无歧义
有限性:算法每条指令执行次数有效,时间也有限
1.问题的理解
2.数据结构涉及
3.算法涉及
4.算法分析
5.程序实现
算法的复杂度:时间复杂性 和空间复杂性, 大部分测量性能是通过时间复杂度来算的。 一般都会将时间复杂度和空间复杂度分开来看。
抛开软件和硬件因素,只和问题规模有关。
一个算法花费的时间与算法中语句的执行次数成正比例。
T(n) = O(f(n));
#### 1.数组
for (int i=0;i < n;i++){}; //时间复杂度 n
//时间复杂度 n^2;
最坏情况下的时间复杂度:
最好情况下的时间复杂度:
平均情况下的时间复杂度:
法规
1.通常认为 n2和n是由较大差异的,而3n2和n^2,n无穷大时,算法差异可以忽略不记
3n^2+ 2:可以看作是n^2, 普通常量值可以不要
2.有指数幂时,低阶指数可以忽略不记
3n^2 + 4n + 2: 可以看作时 n^2 ;
3.算法复杂度比较
1.正确性
2.可读性
3.健壮性
4.高效性:算法的效率是评价一个算法好坏的最重要的环节