一些基本概念
数据结构
一般来说,用计算机解决一个具体的问题时,大概需要经过以下几个步骤:
1. 从具体问题中抽象出一个适当的数据模型;
2. 设计一个能解此数据模型的算法;
3. 编写程序,运行出答案,直到最后问题解答完毕。
数据结构
相互之间存在一种或者多种特定关系的数据元素的集合。存储结构
数据结构再计算机中的存储。
任何一个算法的设计取决于选定的数据结构,而算法的实现依赖于采用的存储结构。
算法和算法分析
算法
算法(algorithm)是为求解一个问题需要遵循的,被清楚的指定的简单指令的集合。
算法分析
对于一个问题,一旦给定某种算法并且确定是正确的,那么剩余的工作就是确定该算法执行时需要多少的时间和空间资源。估算这种资源的方法就叫算法分析。
分析估算
如果存在正常数 c c 和 ,使得当 N≥n0 N ≥ n 0 时 T(N)≤cf(N) T ( N ) ≤ c f ( N ) ,则记为 T(N)=O(f(N)) T ( N ) = O ( f ( N ) ) ,称函数 f(N) f ( N ) 是函数 T(N) T ( N ) 的上界(upper bound)
如果存在正常数 c c 和