数据结构基础

数据结构类型

一:逻辑结构
(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];
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值