资源描述:
《数据结构 笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.4数据类型和抽象数据类型抽象数据类型三元组的定义:ADTTriplet{数据对象:D={e1,e2,e3
2、e1,e2,e3∈ElemSet}数据关系:R1={,}InitTriplet(&T,v1,v2,v3)操作结果:构造了三元组T,元素e1,e2,e3分别被赋以参数v1,v2,v3Get(T,i,&e)初始条件:三元组T已存在,1≦i≦3操作结果:用e返回三元组T的第i个元素……Min(T,&e)初始条件:三元组T已存在操作结果:用e返回T的三个元素中的最小值}ADTTriplet1.5.2算法的描述1.预定义常量和
3、类型常量说明采用C++语言的规范。//函数结果主要状态constTRUE=1;constFALSE=0;constOK=1;constERROR=0;constINFEASIBLE=–1;constOVERFLOW=-2;//status是函数的返回值类型,其值是函数结果状态码typedefintstatus;//布尔型类型enumbool{TRUE,FALSE}1.5.2算法的描述一般而言:a、b、c、d等用作数据元素名称。i、j、k、l、m、n等用作整型变量名。p、q、r等用作指针变量名。通常每个操作函数均返回一个状态码,此时函数类型定义为stat
4、us类型参数表中某个参数允许预先用表达式的形式赋值,作为默认值使用,可以简化参数表,例如:函数类型函数名(类型1参数1,类型2参数2=算术表达式)调用时可以是:函数名(实参数1);//实参数2使用默认值。或函数名(实参数1,实参数2);//实参数2不使用默认值。1.5.2算法的描述4.内存的动态分配与释放操作符newC++操作符new可用来动态存储分配,该操作符返回一个指向所分配空间的指针。例如:下面语句为一个整数动态分配存储空间int*y;//宣告指针y=newint;//分配存储空间*y=10;//赋值我们可以将上面三步适当合并int*y=newi
5、nt;*y=10;或int*y;y=newint(10);或int*y=newint(10);操作符delete动态分配的存储空间不再需要时应该被释放,所释放的空间可重新用来动态创建新的结构。我们可以使用C++操作符delete来释放由操作符new所分配的空间。deletey;//释放分配给*y的空间1.5.2算法的描述5.赋值语句简单赋值:变量名=表达式;条件赋值:变量名=条件表达式?表达式T:表达式F;串联赋值:变量名1=变量名2=…=变量名k=表达式;成组赋值:(变量名1,变量名2,…,变量名k)=(表达式1,表达式2,…,表达式k);结构名=结
6、构名;结构名={值1,值2,…值k};变量名[]=表达式;变量名[起始下标..终止下标]=变量名[起始下标..终止下标];1.5.2算法的描述6.选择语句条件语句1:if(条件表达式)语句;条件语句2:if(条件表达式)语句;else语句;开关语句1:switch(表达式){case值1:语句1;break;…case值n:语句n;break;default:语句n+1;}开关语句2:switch{case条件1:语句1;break;…case条件n:语句n;break;default:语句n+1;}1.5.2算法的描述7.循环语句for语句:for(
7、赋初值表达式序列;条件表达式;修改表达式序列)语句;while语句:while(条件表达式)语句;do-while语句:do{语句序列;}while(条件表达式);8.结束语句函数结束语句:return(表达式);return;case结束语句:break;1.5.2算法的描述9.输入输出语句使用流式输入输出的形式输入语句:cin>>变量1>>变量2>>…>>变量n;输入语句:cout<<变量1<<变量2<<…<<变量n;10.注释单行注释://文字序列1.5.2算法的描述11.基本函数求最大值:max(表达式1,表达式2,…表达式n)求最小值:min
8、(表达式1,表达式2,…表达式n)求绝对值:abs(表达式)退出程序:exit(表达式)12.逻辑运算约定与运算&&:对于A&&B,当A的值为0时,不再对B求值。或运算
9、
10、:对于A
11、
12、B,当A的值为非0时,不再对B求值。1.5.4算法的存储空间需求2.数据空间:对于简单变量和常量来说,所需要的空间取决于所使用的计算机和编译器以及变量和常量的数目。其原因是我们所关心的是数据的字节数,由于每种数据类型所站的字节数和机器和编译器有关。对于复合变量,需要进行计算。如:doublea[100]和intmaze[rows][cols]对于16位元机器及16位元编译
13、器所占存储空间分别为8*100和2*rows*cols附录3:渐进式表示方法1.时间复杂度的等