数据结构的试题有答案讲解.doc

上传人:cl****1 文档编号:544245609 上传时间:2023-12-14 格式:DOC 页数:7 大小:57.50KB
返回 下载 相关 举报
数据结构的试题有答案讲解.doc_第1页
第1页 / 共7页
数据结构的试题有答案讲解.doc_第2页
第2页 / 共7页
数据结构的试题有答案讲解.doc_第3页
第3页 / 共7页
数据结构的试题有答案讲解.doc_第4页
第4页 / 共7页
数据结构的试题有答案讲解.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数据结构的试题有答案讲解.doc》由会员分享,可在线阅读,更多相关《数据结构的试题有答案讲解.doc(7页珍藏版)》请在金锄头文库上搜索。

1、第一章绪论一、单选题1.一个数组元素ai与 A 的表示等价。 A *(a+i)B a+i C *a+i D &a+i2.对于两个函数,若函数名相同,但只是 C 不同则不是重载函数。 A 参数类型 B 参数个数 C 函数类型 3.若需要利用形参直接访问实参,则应把形参变量说明为 B 参数。 A 指针 B 引用 C 值4.下面程序段的复杂度为 C 。 for(int i=0;im;i+) for(int j=0;jn;j+) aij=i*j;A O(m2)B O(n2)C O(m*n)D O(m+n) 5.执行下面程序段时,执行S语句的次数为 D 。 for(int i=1;i=n;i+) for

2、(int j=1; j=i;j+)S;A n2B n2/2C n(n+1)D n(n+1)/26.下面算法的时间复杂度为 B 。 int f(unsigned int n)if(n=0|n=1) return 1;Else return n*f(n-1);A O(1) B O(n) C O(n2) D O(n!)二、填空题1.数据的逻辑结构被除数分为 集合结构 、 线性结构 、 树型结构 和 图形结构 四种。2.数据的存储结构被分为 顺序结构 、 链接结构 、 索引结构 和 散列结构 四种。3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着 1对1 、 1对N 和 M对N 的关

3、系。4.一种抽象数据类型包括 数据 和 操作 两个部分。5.当一个形参类型的长度较大时,应最好说明为 引用 ,以节省参数值的传输时间和存储参数的空间。6.当需要用一个形参访问对应的实参时,则该形参应说明为 引用 。7.在函数中对引用形参的修改就是对相应 实参 的修改,对 值(或赋值)形参的修改只局限在该函数的内部,不会反映到对应的实参上。8.当需要进行标准I/O操作时,则应在程序文件中包含 iostream.h 头文件,当需要进行文件I/O操作时,则应在程序文件中包含 fstream.h 头文件。9.在包含有 stdlib.h 头文件的程序文件中,使用 rand()%21 能够产生0-20之间

4、的一个随机数。10.一个记录r理论上占有的存储空间的大小等于所有域的 长度之和 ,实际上占有的存储空间的大小即记录长度为 sizeof(r) 。11.一个数组a所占有的存储空间的大小即数组长度为 sizeof(a) ,下标为i的元数ai的存储地址为 a+1 ,或者为 (char*)a+i*sizeof(ai) 。12.函数重载要求 参数类型 、 参数个数 或 排列顺序 有所不同。13.对于双目操作符,其重载函数带有 2 个参数,其中至少有一个为 用户自定义的类型。14.若对象ra和rb中至少有一个属于用户定义的类型,则执行ra=rb时,需要调用 等于号(=) 重载函数,该函数第一个参数应与 r

5、a ,的类型相同,第二个参数应与rb 的类型相同。15.从一维数组an中顺序查找出一个最大值元素的时间复杂度为 O(n) ,输出一个二维数组bmn中所有元素值的时间复杂度为 O(m*n) 。16.在下面程序段中,s=s+p语句的执行次数为 n ,p*=j语句的执行次数为n(n+1)/2,该程序段的时间复杂度为 O(n2) 。 int i=0,s=0;while(+i=n) int p=1; for(int j=1;j=0) r1=(float)(-q.b+sqrt(x)/(2*q.a); r2=(float)(-q.b-sqrt(x)/(2*q.a); return 1; elsereturn

6、0; 按照ax*2+bx+c的格式(x2用x*2表示)输出二次多项式,在输出时要注意去掉系数为0的项,并且当b和c的值为负时,其前不能出现加号。void Print(Quadratic q)解:void Print(Quadratic q) if(q.a) coutq.a0)cout+q.bx;else coutq.b0)cout+q.c;else coutq.c; coutend1; 2.指出下列各算法的功能并求出其时间复杂度。 int prime(int n) int i=1;int x=(int)sqrt(n);while(+ix) return 1;else return 0;解: 判

7、断n是否是一个素数,若是则返回数值1,否则返回0。该算法的时间复杂度为 O(n1/2)。 int sum1(int n) int p=1,s=0; for(int i=1;i=n;i+) p*=i; s+=p; return s; 解: 计算i!(上标为n,下标为i=1)的值,其时间的复杂度为O(n)。 int sum2(int n) int s=0; for(int i=1;i=n;i+) int p=1; for(int j=1;j=i;j+) p*=j;s+=p; return s; 解: 计算i!的值,时间复杂度为O(n2) int fun(int n) int i=1,s=1; wh

8、ile(sn)s+=+i;return i; 解: 求出满足不等式1+2+3.+in的最小i值, 其时间复杂度为O(n1/2)。 void UseFile(ifstream& inp,int c10) /假定inp所对应的文件中保存有n个整数 for(int i=0;ix)i=x%10;ci+;解:利用数组c10中的每个元素ci对应统计出inp所联系的整数文件中个位值同为i的整数个数,时间复杂度为O(n) void mtable(int n) for(int i=1;i=n;i+) for(int j=i;j=n;j+)couti*j=setw(2)i*j;coutend1; 解: 打印出一个具有n行的乘法表,第i行(1in)中有n-i+1个乘法项,每个乘法项为i与j(ijn)的乘积,时间复杂度为O(n2)。 void cmatrix(int aMN,int d)/M和N为全局整型常量 for(int i=0;iM;i+)for(int j=0;jN;j+) aij*=d;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号