电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实用教程第二版答案_徐孝凯VIP免费

数据结构实用教程第二版答案_徐孝凯_第1页
1/68
数据结构实用教程第二版答案_徐孝凯_第2页
2/68
数据结构实用教程第二版答案_徐孝凯_第3页
3/68
第一章绪习 题 一 1.有下列几种用二元组表示的数据结构,试画出它们分别对应的图形表示(当出现多个关系时, 对每个关系画出相应的结构图),并指出它们分别属于何种结构。 ⑴ A=(K,R)其中 K={a1,a2,a3...,an} R={} ⑵ B=(K,R)其中 K={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={,,,,,,} ⑷ D=(K,R)其中 K={1,2,3,4,5,6} R={r} r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)} ⑸ E=(K,R)其中 K={48,25,64,57,82,36,75,43} R={r1,r2,r3} r1={<48,25>,<25,64>,<64,57>,<57,82>,<82,36>,<36,75>,<75,43>} r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>,<36,43>} r3={<25,36>,<36,43>,<43,48>,<48,57>,<57,64>,<64,75>,<75,82>} 解:⑴是集合结构;⑵是线性结构;⑶⑷是树型结构;⑸散列结构。只作为参考。 2.设计二次多项式 ax2+bx+c 的一种抽象数据类型,假定起名为QIAdratic, 该类型的数据部分分为三个系数项a、b 和 c,操作部分为:(请写出下面每一个 操作的具体实现)。 ⑴ 初始化数据成员 ab 和 c(假定用记录类型 Quadratie 定义成员),每个数据成 员的默认值为 0。 Quadratic InitQuadratic(float aa=0,float bb=0,float cc=0); 解: Quadratic InitQuadratic(float aa,float bb,float cc) { Quadratic q; q.a=aa; q.b=bb; q.c=cc; return q; } ⑵ 做两个多项式加法,即使对应的系数相加,并返回相加的结果。 Quadratic Add(Quadratic q1,Quadratic q2); 解: Quadratic Add(Quadratic q1,Quadratic q2); { Quadratic q; q.a=q1.a+q2.a; q.b=q1.b+q2.b; q.c=q1.c+q2.c; return q; } ⑶ 根据给定 x 的值计算多项式的值。 float Eval(Quadratic q,float x); 解: float Eval(Quadratic q,float x) { return(q.a*x*x+q.b*x+q.c); } ⑷ 计算方程 ax2+bx+c=0 的两个实数根,对于有实根、无实根和不是实根方程 (即 a==0)这三种情况要返回不同的整数值,以便于工作调用函数做不同的处理。 int Root(Quadratic q,float& r1,float& r2); 解: int Root(Quadratic q,float& r1,float& r2) { if(q.a==0)return -1; float x=q.b*q.b-4*q.a*q.c; if(x>=0){ r1=(float)(-q.b+sqrt(x))/(2*q.a); r2...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实用教程第二版答案_徐孝凯

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部