欢迎来到天天文库
浏览记录
ID:18198025
大小:57.50 KB
页数:7页
时间:2018-09-15
《数据结构的试题有答案讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章绪论一、单选题1.一个数组元素a[i]与A的表示等价。 A*(a+i) Ba+i C*a+i D&a+i2.对于两个函数,若函数名相同,但只是C不同则不是重载函数。 A参数类型 B参数个数 C函数类型 3.若需要利用形参直接访问实参,则应把形参变量说明为B参数。 A指针 B引用 C值4.下面程序段的复杂度为C。 for(inti=0;i2、or(inti=1;i<=n;i++) for(intj=1;j<=i;j++) S; An2 Bn2/2 Cn(n+1) Dn(n+1)/26.下面算法的时间复杂度为B。 intf(unsignedintn){ if(n==03、4、n==1)return1; Elsereturnn*f(n-1); } AO(1) BO(n) CO(n2) DO(n!)二、填空题1.数据的逻辑结构被除数分为集合结构、线性结构、树型结构和图形结构四种。2.数据的存储结构被分为顺序结构、5、链接结构、索引结构和散列结构四种。3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着1对1、1对N和M对N的关系。4.一种抽象数据类型包括数据和操作两个部分。5.当一个形参类型的长度较大时,应最好说明为引用,以节省参数值的传输时间和存储参数的空间。6.当需要用一个形参访问对应的实参时,则该形参应说明为引用。7.在函数中对引用形参的修改就是对相应实参的修改,对值(或赋值)形参的修改只局限在该函数的内部,不会反映到对应的实参上。8.当需要进行标准I/O操作时,则应在程序文件中包含iostream.h头文件,当需要进行文件I/O操作时,则应在程序文件中包含fstream.h6、头文件。9.在包含有stdlib.h头文件的程序文件中,使用rand()%21能够产生0-20之间的一个随机数。10.一个记录r理论上占有的存储空间的大小等于所有域的长度之和,实际上占有的存储空间的大小即记录长度为sizeof(r)。11.一个数组a所占有的存储空间的大小即数组长度为sizeof(a),下标为i的元数a[i]的存储地址为a+1,或者为(char*)a+i*sizeof(a[i])。12.函数重载要求参数类型、参数个数或排列顺序有所不同。13.对于双目操作符,其重载函数带有2个参数,其中至少有一个为用户自定义的类型。14.若对象ra和rb中至少有一个属于用户定义的类型,7、则执行ra==rb时,需要调用等于号(==)重载函数,该函数第一个参数应与ra,的类型相同,第二个参数应与rb的类型相同。15.从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为O(n),输出一个二维数组b[m][n]中所有元素值的时间复杂度为O(m*n)。16.在下面程序段中,s=s+p语句的执行次数为n,p*=j语句的执行次数为n(n+1)/2,该程序段的时间复杂度为O(n2)。 inti=0,s=0; while(++i<=n){ intp=1; for(intj=1;j<=i;j++)P*=j; 8、 s=s+p; } 17.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为O(n)。18.从一个数组a[7]中顺序查找元素时,假定查找第一个元素a[0]的概率为1/3,查找第二个元素a[1]的概率为1/4,查找其余元素的概率均相同,则在查找成功时同元素的平均比较次数为35/12。三、应用题1.设计二次多项式ax2+bx+c的一种抽象数据类型,假定起名为QIAdratic,该类型的数据部分分为三个系数项a、b和c,操作部分为:(请写出下面每一个操作的具体实现)。⑴初始化数据成员ab和c(假定用记录类型Quadratie定义成员),每个9、数据成员的默认值为0。 QuadraticInitQuadratic(floataa=0,floatbb=0,floatcc=0); 解QuadraticInitQuadratic(floataa,floatbb,floatcc) { Quadraticq; q.a=aa; q.b=bb; q.c=cc; returnq; } ⑵做两个多
2、or(inti=1;i<=n;i++) for(intj=1;j<=i;j++) S; An2 Bn2/2 Cn(n+1) Dn(n+1)/26.下面算法的时间复杂度为B。 intf(unsignedintn){ if(n==0
3、
4、n==1)return1; Elsereturnn*f(n-1); } AO(1) BO(n) CO(n2) DO(n!)二、填空题1.数据的逻辑结构被除数分为集合结构、线性结构、树型结构和图形结构四种。2.数据的存储结构被分为顺序结构、
5、链接结构、索引结构和散列结构四种。3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着1对1、1对N和M对N的关系。4.一种抽象数据类型包括数据和操作两个部分。5.当一个形参类型的长度较大时,应最好说明为引用,以节省参数值的传输时间和存储参数的空间。6.当需要用一个形参访问对应的实参时,则该形参应说明为引用。7.在函数中对引用形参的修改就是对相应实参的修改,对值(或赋值)形参的修改只局限在该函数的内部,不会反映到对应的实参上。8.当需要进行标准I/O操作时,则应在程序文件中包含iostream.h头文件,当需要进行文件I/O操作时,则应在程序文件中包含fstream.h
6、头文件。9.在包含有stdlib.h头文件的程序文件中,使用rand()%21能够产生0-20之间的一个随机数。10.一个记录r理论上占有的存储空间的大小等于所有域的长度之和,实际上占有的存储空间的大小即记录长度为sizeof(r)。11.一个数组a所占有的存储空间的大小即数组长度为sizeof(a),下标为i的元数a[i]的存储地址为a+1,或者为(char*)a+i*sizeof(a[i])。12.函数重载要求参数类型、参数个数或排列顺序有所不同。13.对于双目操作符,其重载函数带有2个参数,其中至少有一个为用户自定义的类型。14.若对象ra和rb中至少有一个属于用户定义的类型,
7、则执行ra==rb时,需要调用等于号(==)重载函数,该函数第一个参数应与ra,的类型相同,第二个参数应与rb的类型相同。15.从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为O(n),输出一个二维数组b[m][n]中所有元素值的时间复杂度为O(m*n)。16.在下面程序段中,s=s+p语句的执行次数为n,p*=j语句的执行次数为n(n+1)/2,该程序段的时间复杂度为O(n2)。 inti=0,s=0; while(++i<=n){ intp=1; for(intj=1;j<=i;j++)P*=j;
8、 s=s+p; } 17.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为O(n)。18.从一个数组a[7]中顺序查找元素时,假定查找第一个元素a[0]的概率为1/3,查找第二个元素a[1]的概率为1/4,查找其余元素的概率均相同,则在查找成功时同元素的平均比较次数为35/12。三、应用题1.设计二次多项式ax2+bx+c的一种抽象数据类型,假定起名为QIAdratic,该类型的数据部分分为三个系数项a、b和c,操作部分为:(请写出下面每一个操作的具体实现)。⑴初始化数据成员ab和c(假定用记录类型Quadratie定义成员),每个
9、数据成员的默认值为0。 QuadraticInitQuadratic(floataa=0,floatbb=0,floatcc=0); 解QuadraticInitQuadratic(floataa,floatbb,floatcc) { Quadraticq; q.a=aa; q.b=bb; q.c=cc; returnq; } ⑵做两个多
此文档下载收益归作者所有