数据结构(二)--算法概念概述

1:算法概念:

算法:是解决特定问题的求解步骤的描述。

算法的特性:

  1. 输入输出:算法具有零个或者多个输入;具有至少一个输出。
  2. 有穷性:算法的执行步骤是有限的,不出现死循环,且每个步骤所用时间都是合理可接受的。
  3. 可行性:算法的每一步都是必须可行的。
  4. 确定性:算法的每一步骤都具有确定的含义。

2:算法设计的要求:

  1. 正确性:符合算法的特性,输入输出,有穷性,可行性,确定性
  2. 可读性:便于阅读,理解和交流
  3. 健壮性:输入数据不合法,算法能做出相关处理。
  4. 时效高,存储量低:花费时间少,占用存储量低

3:算法时间复杂度:

3-1:概念

在进行算法分析时:语句总的执行次数  T(n)   是关于问题规模n的函数;用于分析T(n)随n的变化情况并确定T(n)的数量级。

算法时间复杂度:记作 T(n)=O(f(n)),表示随问题规模n的增长,算法执行的增长率和f(n)的增长率相同。

 

3-2:常见时间复杂度(大O记法)

以下表格,至上而下其时间复杂度所消耗时间从小到大

常见的时间复杂度
执行次数函数 非正式术语
10 O(1)

常数阶

5log2n O(logn) 对数阶

2n+1

O(n) 线性阶
2n+3nlog2n O(nlogn) nlogn阶
3n^2+2n+1 O(n^2) 平方阶
6n^3+23 O(n^3) 立方阶
2^n O(2^n) 指数阶

 

4:算法的空间复杂度

是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(算法)