[简述]数据结构-算法描述(c语言实现)
second60 20180421
1 什么是算法?
算法是对特定问题求解步骤的一种描述。
1.1 五个特性
1.2 算法描述
1.3 算法分析
算法分析的两个维度:时间复杂度和空间复杂度
1.3.1 时间复杂度T(n)=O(f(n))
算法中基本运算次数T(n)是问题规模n的某个函数f(n),记作: T(n) = O(f(n))
表示:n的增大,算法执行的时间增长率也增长。
不同数据级之间的对比:
O(1) < O(log2n) < O(n) < O(n*log2n) < O(n的2次方) < O(n3的次方) < O(2的n次方) < O(n!)
1.3.2 空间复杂度S(n) =O(g(n))
一个算法的存储量包括输入数据所占的空间,程序本身占用的空间和辅助变量所占的空间。
空间复杂度是对一个算法在运行过程中临时占用的存储空的大小,记作:S(n) = O(g(n))
2 程序
程序 = 数据结构 + 算法
在选择数据结构时,也要考虑其对算法的影响。
1. 数据结构的存计能力
2. 数据结构的操作