电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PDF文档下载
分享到微信 分享到微博 分享到QQ空间

数据结构习题集答案 清华大学版(1)

  • 资源ID:60872600       资源大小:750.99KB        全文页数:113页
  • 资源格式: PDF        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

数据结构习题集答案 清华大学版(1)

第第 1 章章绪论绪论 1.11.1简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符 号的总称。 数据元素数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构存储结构是数据结构在计算机中的表示。 数据类型数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 1.21.2试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由 具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型 通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数 据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实 现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 1.31.3 设有数据结构设有数据结构(D,R)(D,R),其中,其中 4, 3, 2, 1ddddD , rR , 4, 3,3, 2,2, 1ddddddr 试按图论中图的画法惯例画出其逻辑结构图。试按图论中图的画法惯例画出其逻辑结构图。 解:解: 1.41.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子有理数是其分子、分母均分母均 为自然数且分母不为零的分数为自然数且分母不为零的分数) 。 解:解: ADT Complex 数据对象:D=r,i|r,i 为实数 数据关系:R= 基本操作: InitComplex(product=1; i=1;i=1; while(ij)if(ij) j+;j+; elseelse i+;i+; (7)(7) x=n;x=n; y=0;y=0;/ n n 是不小于是不小于 1 1 的常数的常数 w while(hile(x=(y+1)*(y+1)x=(y+1)*(y+1) y+;y+; (8)(8) x=91;x=91; y=100;y=100; while(y0)while(y0) if(x100)if(x100) x x -=-= 10;10; y-;y-; elseelse x+;x+; 解:解:(1) n-1 (2) n-1 (3) n-1 (4) n+(n-1)+(n-2)+.+1= 2 ) 1( nn (5) 1+(1+2)+(1+2+3)+.+(1+2+3+.+n)= n i ii 1 2 ) 1( = n i n i n i n i iiiiii 11 2 1 2 1 2 1 2 1 )( 2 1 ) 1( 2 1 =)32)(1( 12 1 ) 1( 4 1 ) 12)(1( 12 1 nnnnnnnn (6) n (7) n向下取整 (8) 1100 1.91.9 假设假设 n n 为为 2 2 的乘幂的乘幂, 并且并且 n2n2, 试求下列算法的时间复杂度及变量试求下列算法的时间复杂度及变量 countcount 的值的值 (以以 n n 的函数形式表示的函数形式表示) 。 intint Time(intTime(int n)n) countcount = = 0;0;x=2;x=2; while(x438 时,nnn 2 2 log50 1.141.14 判断下列各对函数判断下列各对函数 nf和和 ng,当,当n时,哪个函数增长更快?时,哪个函数增长更快? (1)(1) 3 10!ln10 2n nnnf, 72 4 nnng (2)(2) 25!lnnnf, 5 . 2 13nng (3)(3) 1 41 . 2 nnnf, nnng 2 !ln (4)(4) 2 22 3 nn nf, 5 2 nnng n 解:解:(1)g(n)快 (2)g(n)快 (3)f(n)快 (4) f(n)快 1.11.15 5 试用数学归纳法证明:试用数学归纳法证明: (1)(1)6/121 1 2 nnni n i 0n (2)(2)1/1 1 0 xxx n n i i 0, 1nx (3)(3)122 1 1 n n i i 1n (4)(4) 2 1 12ni n i 1n 1.161.16 试写一算法,自大至小依次输出顺序读入的三个整数试写一算法,自大至小依次输出顺序读入的三个整数 X X,Y Y 和和 Z Z 的值的值 解:解: int max3(int x,int y,int z) if(xy) if(xz) return x; else return z; else if(yz) return y; else return z; 1.171.17 已知已知 k k 阶斐波那契序列的定义为阶斐波那契序列的定义为 0 0 f,0 1 f,0 2 k f,1 1 k f; knnnn ffff 21 ,, 1,kkn 试编写求试编写求 k k 阶斐波那契序列的第阶斐波那契序列的第 m m 项值的函数算法,项值的函数算法,k k 和和 m m 均以值调用的形式在函数参数表中出现。均以值调用的形式在函数参数表中出现。 解:解:k0 为阶数,n 为数列的第 n 项 int Fibonacci(int k,int n) if(karrsizenarrsize 或对某个或对某个nkk1,使,使intmax2! k k时时, 应按出错处理。注意选择你认为较好的出错处理方法。应按出错处理。注意选择你认为较好的出错处理方法。 解:解: #include #include #define MAXINT 65535 #define ArrSize 100 int fun(int i); int main() int i,k; int aArrSize; coutk; if(kArrSize-1) exit(0); for(i=0;iMAXINT) exit(0); else ai=2*i*ai-1; for(i=0;iMAXINT) exit(0); else cout #include #define N10 double polynomail(int a,int i,double x,int n); int main() double x; int n,i; int aN; coutx; coutn; if(nN-1) exit(0); coutai; cout0) return an-i+polynomail(a,i-1,x,n)*x; else return an; 本算法的时间复杂度为 o(n)。 第第 2 章章线性表线性表 2.12.1 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点) 。 解:解:头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结 点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为 了方便对链表的操作。它可以对空表、非空表以及首元结点的操作进行统一处理。 2.22.2 填空题。填空题。 解:解:(1) 在顺序表中插入或删除一个元素,需要平均移动表中一半表中一半元素,具体移动的元素个数与元素元素 在表中的位置在表中的位置有关。 (2) 顺序表中逻辑上相邻的元素的物理位置必定必定紧邻。单链表中逻辑上相邻的元素的物理位置不一定不一定 紧邻。 (3) 在单链表中,除了首元结点外,任一结点的存储位置由其前驱结点的链域的值其前驱结点的链域的值指示。 (4) 在单链表中设置头结点的作用是插入和删除首元结点时不用进行特殊处理插入和删除首元结点时不用进行特殊处理。 2.32.3 在什么情况下用顺序表比链表好?在什么情况下用顺序表比链表好? 解:解:当线性表的数据元素在物理位置上是连续存储的时候,用顺序表比用链表好,其特点是可以进行 随机存取。 2.42.4 对以下单链表分别执行下列各程序段,并画出结果示意图。对以下单链表分别执行下列各程序段,并画出结果示意图。 解:解: 2.52.5 画出执行下列各行语句后各指针及链表的示意图。画出执行下列各行语句后各指针及链表的示意图。 L=(LinkList)malloc(sizeof(LNode);L=(LinkList)malloc(sizeof(LNode);P=L;P=L; for(i=1;inext=(LinkList)malloc(sizeof(LNode);P-next=(LinkList)malloc(sizeof(LNode); P=P-next;P=P-next;P-data=i*2-1;P-data=i*2-1; P-next=NULL;P-next=NULL; for(i=4;i=1;i-)for(i=4;i=1;i-) Ins_LinkList(L,i+1,i*2);Ins_LinkList(L,i+1,i*2); for(i=1;inext=S;P-next=S; (2)(2) P-next=P-next-next;P-next=P-next-next; (3)(3) P-next=S-next;P-next=S-next; (4)(4) S-next=P-next;S-next=P-next; (5)(5) S-next=L;S-next=L; (6)(6) S-next=NULL;S-next=NULL; (7)(7) Q=P;Q=P; (8)(8) while(P-next!=Q)while(P-next!=Q) P=P-next;P=P-next; (9)(9) while(P-next!=NULL)while(P-next!=NULL) P=P-next;P=P-next; (10)(10) P=Q;P=Q; (11)(11) P=L;P=L; (12)(12) L=S;L=S; (13)(13) L=P;L=P; 解:解:a. (4) (1) b. (7) (11) (8) (4) (1) c. (5) (12) d. (9) (1) (6) 2.72.7 已知已知 L L 是带表头结点的非空单链表是带表头结点的非空单链表,且且 P P 结点既不是首元结点结点既不是首元结点,也不是尾元结点也不是尾元结点,试从下列提供的答试从下列提供的答 案中选择合适的语句序列。案中选择合适的语句序列。 a.a. 删除删除 P P 结点的直接后继结点的语句序列是结点的直接后继结点的语句序列是_。 b

注意事项

本文(数据结构习题集答案 清华大学版(1))为本站会员(suns****4568)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.