数据结构类型
一:逻辑结构
(1)集合结构:数据元素之间除了“属于同一集合”的关系外,别无其他关系。
(2)线性结构:数据元素之间存在一对一的关系。
(3)树结构:数据元素之间存在一对多的关系。
(4)图结构或网状结构:数据元素之间存在多对多的关系。
二:存储结构
数据对象在计算机中的存储表示称为数据的存储结构,也称物理结构。
(1)顺序存储结构
(2)链式存储结构
C语言中常见语句
1:预定义常量及类型
//函数结果状态代码
#define OK 1
#define ERROR 0
//Status是函数返回值类型,其值是函数结果状态代码。
2:数据结构的表示(存储结构)用类型定义(typedef)描述;数据元素类型约定为ElemType,由用户在使用该数据类型时自行定义。
3:基本操作的算法都用如下格式的函数来描述:
函数类型 函数名(函数参数表)
{
//算法说明
语句序列
}//函数名
当函数返回值为函数结果状态代码时,函数定义为Status类型。在形参表中,以"&"打头的参数即为引用参数。
4:内存的动态分配与释放
使用new和delete动态分配和释放内存空间:
分配空间 指针变量=new数据类型
释放空间 delete指针变量
5:赋值语句
简单赋值 变量名 = 表达式;
串联赋值 变量名1 = 变量名2 = … = 变量名n = 表达式;
成组赋值 (变量名1,…,变量名n)=(表达式1,…,表达式n);
结构赋值 结构名1 = 结构名2;
结构名 =(值1,值2,…,值n);
条件赋值 变量名 = 条件表达式?表达式T:表达式F;
交换赋值 变量名1 <–> 变量名2;
6:选择语句
条件语句(1) if(表达式)语句;
(2) if(表达式)语句;
else语句;
开关语句 switch(表达式)
{
case值1:语句序列1;break;
case值2:语句序列2;break;
…
case值n:语句序列n;break;
default:语句序列n+1;
}
7:循环语句
for语句 for(表达式1 ; 条件 ; 表达式2)语句;
while语句 while(条件)语句;
do-while语句 do {
语句序列;
}while(条件)
8:结束语句
return表达式;
return;
case或循环结束语句break;
异常结束语句exit(异常代码);
9:输入输出语句使用C++流式输入输出的形式
输入语句 cin>>变量1>>…>>变量n;
输出语句 cout<<表达式1<<…<<表达式n;
算法
一:特性
(1)有穷性
(2)确定性
(3)可行性
(4)输入
(5)输出
二:时间复杂度
求两个n阶矩阵的乘积算法
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
c[i][j]=0;
for(k=1;k<=n;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
(1) x=0;y=0;
(2) for(k=1;k<=n;k++)
(3) x++;
(4) for(i=1;i<=n;i++)
(5) for(j=1;j<=n;j++)
(6) y++;
三:空间复杂度
数组逆序,将一维数组a中的n个数逆序存放在原数组中
for(i=0;i<n/2;i++)
{
t=a[i];
a[i]=a[n-i-1];
a[n-i-1]=t;
}
for(i=0;i<n;i++)
b[i]=a[n-i-1];
for(i=0;i<n;i++)
a[i]=b[i];