概念:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
4类基本数据结构:(1)集合 (2)线性结构 (3)树形结构 (4)图状结构
线性结构中的所有结点按前驱后继关系可以排成一个线性序列:(k1,k2,k3,...,kn),这个序列称为线性表。
存储结构
顺序存储结构:借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系
链式存储结构:借助指示元素来存储地址的指针表示数据元素之间的逻辑关系。
顺序存储和链式存储优缺点:
顺序存储方法的主要优点是,占用较少的存储空间,可以随机访问;主要缺点是,插入删除不方便。链式存储方法的优缺点则正好之与相反。
常用宏定义:
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
时间复杂度:通常讨论算法在最坏情况下的时间复杂度。
i = 1;
for(j=2;j<=n;j++)
{
if(A[j]>A[i])
i=j;
}
执行时间 O(n)
y=1;u=x;v=n;
while(v>0)
{
if(v%2)
{
y = y*u;
u = u*u;
v = v/2;
}
}
cout<<y;
执行时间O(logn)