逻辑结构 | 存储结构(物理) | 算法 |
---|---|---|
线 树 图 | 线性 链式 | 运算关系 |
《数据结构》是一门研究非数值计算的程序设计问题中 计算机的操作对象以及它们之间的关系和操作等的学科。
and:还可以以结构体为例解释
struct date
{
char name[50];
int id;
int age;
}q[N];
//q[i]可以理解为数据元素
//q[i].id q[i].name q[i].age可以理解为数据项
是一组性质相同的值的集合以及定义于这个值 集合上的一组操作的总称。
算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作:T(n) = O(f(n))
基本算法:最深的大括号所包含的语句
if
后括号里比较语句的是基本操作for
后大括号里的是基本操作f(n)的求法:一般用频度表达式中增长最快的项表示,并将其常数去掉 。
几种情况
O(1)
常见的时间复杂度
常数阶 O(1),对数阶 O(log n),线性阶 O(n),线性对数阶 O(nlog n),平方阶 O(n2),立方阶 O(n3),…, k 次方阶O(nk),指数阶 O(2n),阶乘阶 O(n!)。
常见的算法的时间 复杂度之间的关系为:
O(1)
空间计算
空间计算