数据结构实用教程(第三版)课后答案.pdf
《数据结构实用教程(第三版)课后答案.pdf》由会员分享,可在线阅读,更多相关《数据结构实用教程(第三版)课后答案.pdf(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构实用教程(第三版)课后答案f i l e:/D|/-一上架商品一 一/数据结构实用教程(第三版)课 后 答 案(徐孝凯著)清华大学/第一章绪论.t xt第一章绪习题一一、单选题1 .一个数组元数2 订与(A )的表示等价。A *(a+i)B a+i C*a+i D&a+i2 .对于两个函数,若函数名相同,但只是(C)不同则不是重载函数。A参数类型 B 参数个数 C 函数类型3.若需要利用形参直接访问实参,则应把形参变量说明为(B)参数。A指针 B 引用 C 值4 .下面程序段的复杂度为(C)。f or(i n t i=0;i m;i+)f or(i n t j=0;j n;j+)a i
2、 j =i*j;A 0(m 2)B 0(n 2)C 0(m*n)D 0(m+n)5 .执行下面程序段时,执行S语句的次数为(D)。f or(i n t i=l;i =n;i+)f or(i n t j=l;j =i;j+)S;A n 2 B n 2/2 C n(n+l)D n(n+l)/26 .下面算法的时间复杂度为(B)。i n t f(u n s i g n e d i n t n)i f (n=0|n l)r e t u r n 1;El s e r e t u r n n*f(n-1);)A 0(1)B 0(n)C 0(n 2)D 0(n!)二、填空题L数据的逻辑结构被除数分为集合结构
3、、线性结构、树 型 结 构 和 图 形 结 构 四 种。2 .数据的存储结构被分为顺序结构、结 构、索引结构和散列结构四种。3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着1 对 1、1 对 N和M对 N的关系。4 .一种抽象数据类型包括数据和操作两个部分。5 .当一个形参类型的长度较大时,应最好说明为引用,以节省参数值的传输时间和存储参数的空间。6 .当需要用一个形参访问对应的实参时,则该形参应说明为引用。7.在函数中对引用形参的修改就是对相应实参的修改,对 值(或赋值)形参的修改只局限在该函数的部,不会反映到对应的实参上。f i l e:/D|/-上架商品-.教 程(第二
4、版)课 后 答 案(徐孝凯著)清华大学/第一章绪论.t xt (第 1/1 0 页)2 0 1 0-3-1 6 2 2:0 6:1 7f i l e:/D|/-上架商品-/数据结构实用教程(第二版)课后答案(徐孝凯著)清华大学/第一章绪论.t xt8.当需要进行标准I/O 操作时,则应在程序文件中包含i os t r e a m.h 头文件,当需要进行文件 I/O 操作时,则应在程序文件中包含f s t r e a m.h头文件。9 .在包含有s t d l i b.h头文件的程序文件中,使 用 r a n d()%2 1 能够产生0-2 0 之间的一个随机数。1 0 .一个记录r理论上占有的
5、存储空间的大小等于所有域的长度之和,实际上占有的存储空间的大小即记录长度为s i ze of(r)。1 1 .一个数组a所占有的存储空间的大小即数组长度为s i ze of(a),下标为i的元数a i 的存储地址为a+1 ,或 者 为(c h a r*)a+i*s ize o f(a i)。1 2 .函数重载要求参数类型、参数个数或排列顺序有所不同。1 3 .对于双目操作符,其重载函数带有2个参数,其中至少有一个为用户自定义的类型。1 4 .若对象r a 和 r b 中至少有一个属于用户定义的类型,则执行r a=r b 时,需要调用等于号(=)重载函数,该函数第一个参数应与r a ,的类型相同
6、,第二个参数应与rb的类型相同。1 5 .从一维数组a n 中顺序查找出一个最大值元素的时间复杂度为0(n),输出一个二维数组b m n 中所有元素值的时间复杂度为0(m*n)。1 6 .在下面程序段中,s=s+p语句的执行次数为n ,p*=j语句的执行次数为n(n+l)/2,该程序段的时间复杂度为0(n 2)。in t i=0,s=0;wh il e(+i=n)in t p=l;f o r(in t j=l;j=i;j+)P*=j;s=s+p;)1 7 .一个算法的时间复杂度为(3 n 2+2 n l o g2 n+4 n-7)/(5 n),其数量级表示为0(n)1 8 .从一个数组a 7
7、中顺序查找元素时,假定查找第一个元素a 0 的概率为1/3,查找第二个元素a l l 的概率为1/4,查找其余元素的概率均相同,则在查找成功时同元素的平均比较次数为3 5/1 2 .三、普通题1.有下列几种用二元组表示的数据结构,试画出它们分别对应的图形表示(当出现多个关系时,对每个关系画出相应的结构图),并指出它们分别属于何种结构。A=(K,R)其中K=a l,a 2,a 3.,a n)R=B=(K,R)其中f il e:/D|/-上架商品-.教 程(第 二 版)课 后 答 案(徐 孝 凯著)清华大学/第一章绪论.tx t(第 2/10页)2 0 1 0-3-1 6 2 2:0 6:1 7
8、f il e:/D|/-上架商品-/数据结构实用教程(第二版)课 后 答 案(徐 孝 凯 著)清华大学/第一章绪论.tx tK=a,b,c,d,e,f,g,h)R=r r=,C=(K,R)其中K=a,b,c,d,f,g,h R=r r=,(4)D=(K,R)其中K=1,2,3,4,5,6 R=r r=(l,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)E=(K,R)其中K=4 8,2 5,6 4,5 7,8 2,3 6,7 5,4 3 R=r l,r 2,r 3 r 1=,r 2=,r 3=,6 4,7 5,解:是集合结构;是线性结构;是树型结构;散列
9、结构。只作为参考。2.设计二次多项式a x 2+b x+c的一种抽象数据类型,假定起名为Q I Ad r a tic,该类型的数据部分分为三个系数项a、b和c,操作部分为:(请写出下面每一个操作的具体实现)。初始化数据成员a b和c(假定用记录类型Q ua d r a tie定义成员),每个数据成员的默认值为O oQ ua d r a tic I n itQ ua d r a tic(f l o a t a a=0,f l o a t b b=O,f l o a t c c=0);解:Q ua d r a tic I n itQ ua d r a tic(f l o a t a a,f l o
10、 a t b b,f l o a t c c)(Q ua d r a tic q;q.a=a a;q.b=b b;q.c=c c;r e tur n q;)做两个多项式加法,即使对应的系数相加,并返回相加的结果。Q u a d r a t i c Ad d(Q u a d r a t i c q l,Q u a d r a t i c q 2);解:Q u a d r a t i c Ad d(Q u a d r a t i c q l,Q u a d r a t i c q 2);Q u a d r a t i c q;q.a=q l.a+q 2.a;q.b=q l.b+q 2.b;q.c=
11、q l.c+q 2.c;f i l e:/D|/-上架商品-.教 程(第 二 版)课 后 答 案(徐 孝 凯著)清华大学/第一章 绪论.t x t (第3/10页)2 0 1 0-3-1 6 2 2:0 6:1 7 f i l e:/D|/-上架商品-/数据结构实用教程(第二版)课后答案(徐孝凯著)清华大学/第一章绪论.t x tr e t u r n q;)根据给定x的值计算多项式的值。f l o a t Ev a l(Q u a d r a t i c q,f l o a t x);解:f l o a t Ev a l(Q u a d r a t i c q,f l o a t x)(r
12、e t u r n(q.a*x*x+q.b*x+q.c);)计 算 方 程a x 2+b x+c=0的两个实数根,对于有实根、无实根和不是实根方程(即a=0)这三种情况要返回不同的整数值,以便于工作调用函数做不同的处理。i n t R o o t (Q u a d r a t i c q,f l o a t&r l,f l o a t&r 2);解:i n t R o o t(Q u a d r a t i c q,f l o a t&r l,f l o a t&r 2)(i f(q.a=0)r e t u r n -1;f l o a t x=q.b*q.b-4*q.a*q.c;i f(x=
13、0)r l=(f l o a t)(-q.b+s q r t(x)/(2*q.a);r2=(f l o a t)(-q.b-s q r t (x)/(2*q.a);r e t u r n 1;)e l s er e t u r n 0;按照a x*2+b x+c的格式(x 2用x*2表示)输出二次多项式,在输出时要注意去掉系数为0的项,并且当b和c的值为负时,其前不能出现加号。v o i d P r i n t(Q u a d r a t i c q)解:v o i d P r i n t(Q u a d r a t i c q)(i f(q.a)c o u t q.a 0)c o u t +
14、H q.bMx;e l s ec o u t 0)c o u t n+n q.c;e l s ec o u t x 2,x l=x 2 和 x l x 2 这三种不同情 况 分 别 返 回=和 字符。假定简单类型用S i m p l e T y p e 表示,它可通过t y p e d e f语句定义为任一简单类型。解:c h a r c o m p a r e(S i m p l e T y p e x l,S i m p l e T y p e x 2)(i f(x l x 2)r e t u r n ;e l s e i f(x l=x 2)r e t u r n t=,;e l s e
15、 r e t u r n*,;其时间复杂度为0(1)将一个字符串中的所有字符按相反方的次序重新放置。解:v o i d R e v e r s e(c h a r*p)(i n t n=s t r l e n (p);f o r (i n t i=0;i n/2;i+)c h a r c h;c h=p i p i =p n-i-1 ;p n-i-l =c h;)其时间复杂度为0(n)求一维d o u b l e 型数组.a n 中的所有元素之乘积。解:d o u b l e p r o d u c t (d o u b l e a ,i n t n)(d o u b l e p=l;f o
16、r(i n t i=0;i n;i+)p*=a i ;r e t u r n p;)其时间复杂度为0(n)(4)计算 En i=O x i/i+l 的值。解:d o u b l e Ac c u m u l a t e(d o u b l e x,i n t n)(d o u b l e p=l,s=l;f o r(i n t i=l;i =n;i+)p*=x;s+=p/(i+l);f i l e:/D|/-上架商品-.教 程(第 二 版)课 后 答 案(徐 孝 凯著)清华大学/第一章绪论.t x t (第 5/10页)2 0 1 0-3-1 6 2 2:0 6:1 7 f i l e:/D|
17、/-一上架商品一 一/数据结构实用教程(第二版)课后答案(徐孝凯著)清华大学/第一章绪论.t x t)r e t u r n s;)其时间复杂度为0(n)(5)假定一维数组a n 中的每个元素值均在 0,2 0 0 区间,分别统计出落在 0,2 0),2 0,5 0),5 0,8 0),8 0,1 3 0),1 3 0,2 0 0 等各区间的元素个数。解:i n t Co u n t(i n t a ,i n t n,i n t c 5 )用数组 c 5 保存统计结果(i n t d 5 =2 0,5 0,8 0,1 3 0,2 0 1;用来保存各统计区间的上限i n t i,j;f o r
18、(i=0;i 5;i+)c i =0;给数组c 5 中的每个元素赋初值0f o r(i=0;i n;i+)(i f(a i 2 0 0)r e t u r n 0;/返回数值0表示数组中数据有错,统计失败f o r(j=0;j 5;j+)查找 a i 所在区间i f(a i =n 和 N =n 的条件,L i n 和 C o l 为引用形参,它是对应实参的别名,其值由实参带回L i n=0;C o l=0;f o r(i n t i=0;i m;i+)f o r(i n t j=0;j a L i n C o l)L i n=i;C o l=j;)其时间复杂度为0(m*n)4.指出下列各算法的
19、功能并求出其时间复杂度。(1)i n t p r i m e (i n t n)(i n t i=2;i n t x=(i n t)s q r t (n);w h i l e(i x)r e t u r n 1;e l s er e t u r n 0;解:判断n是否是一个素数,若是则返回数值1,否则返回0。该算法的时间复杂度为0(n l/2)o(2)i n t s u m l (i n t n)(i n t p=l,s=0;f o r(i n t i=l;i =n;i+)p*二 i;s+=p;)r e t u r n s;解:计算E i!(上标为n,下标为i=l)的值,其时间的复杂度为0(n
20、)。i n t s u m 2(i n t n)i n t s=0;f o r(i n t i=l;i =n;i+)i n t p=l;f o r(i n t j=l;j =i;j+)P*二 j;s+二 p;)r e t u r n s;)解:计算 i!的值,时间复杂度为0(n 2)(4)i n t f u n(i n t n)(i n t i=l,s=l;w h i l e(s n)s+=+i;r e t u r n i;)解:求出满足不等式1+2+3.+i n 的最小i 值,其时间复杂度为0(n l/2)o(5)v o i d Us e F i l e(i f s t r e a m&i
21、n p,i n t c 10)假定i n p 所对应的文件中保存有n个整数f i l e:/D|/-上架商品-.教 程(第二版)课 后 答 案(徐孝凯著)清华大学/第一章绪论.t x t (第 7/1 0 页)2010-3-16 22:06:17f i l e:/D|/-上架商品-/数据结构实用教程(第二版)课 后 答 案(徐孝凯著)清华大学/第一章绪论.t x t(f o r(i n t i=0;i 10;i+)c i=0;i n t x;w h i l e(i n p x)i=x%10;c i+;)解:利用数组c 10中的每个元素c i 对应统计出i n p 所联系的整数文件中个位值同为i
22、 的整数个数,时间复杂度为0(n)(6)v o i d r a t a b l e(i n t n)(f o r(i n t i=l;i =n;i+)f o r(i n t j=i;j =n;j+)c o u t i *j =s e t w(2)i*j ;c o u t e n d l;)解:打印出一个具有n行的乘法表,第 i 行(I W i W n)中有n-i+1个乘法项,每个乘法项为i与 J(i W j W n)的乘积,时间复杂度为0(n 2)。v o i d c m a t r i x(i n t a M N,i n t d)M 和 N为全局整型常量(f o r(i n t i=0;i
23、M;i+)f o r(i n t j=0;j N;j+)a i j*=d;)解:使数组a M N 中的每一个元素均详细以d的值,时间复杂度为0(M*N)(8)v o i d m a t r i m u l t(i n t a M N,i n t b N L,i n t c M L)/(i n t i,j,k;f o r(i=0;i M;i+)f o r(j=0;j L;j+)c i j=0;f o r(i=0;i M;i+)f o r(j=0;j L;j+)f o r(k=0;k N;k+)c i j+=a i k*b k j;f i l e:/D|/-上架商品-.教 程(第二版)课 后 答
24、案(徐孝凯著)清华大学/第一章绪论.t x t (第 8/1 0 页)2010-3-16 22:06:17f i l e:/D|/-一上架商品一 一/数据结构实用教程(第二版)课 后 答 案(徐孝凯著)清华大学/第一章绪论.t x t)解:矩阵相乘,即 a M N Xb N L f c M L,时间复杂度为 O(M X N X L)。5.题目略解:v o i d I n i t Se t (Se t&.s)(f o r(i n t i=l;i =SE TSI ZE;i+)s.m i=0;解:v o i d I n i t Se t (Se t&s,i n t a,i n t n)f o t(i
25、 n t i=0;i n;i+)s.m a i=l;)解:Se t o p e r a t o r +(Se t s i,Se t s 2)(Se t s;I n i t Se t(s);f o r(i n t i=l;i =SE TSI ZE;i+)i f (s i.|s 2.m i=l)s.=r e t u r n s;)解:Se t o p e r a t o r*(Se t s i,Se t s 2)(Se t s;I n i t Se t (s);f o r(i n t i=l;i =SE TSI ZE;i+)i f (s i.m i=l)&(s 2.m i=l)s.=r e t u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实用教程 第三 课后 答案
限制150内