2007年度吉林大学珠海学院数据结构期末卷.docVIP

2007年度吉林大学珠海学院数据结构期末卷.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2007 A卷答案 【 字号: 大 中 小 】 《数据结构》 期末试卷答案(A卷) 一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分) ? 题号: 1 2 3 4 5 6 7 8 9 10 答案: B D B B A B A B C A 题号: 11 12 13 14 15 16 17 18 19 20 答案: C B B B B D A C B C ? 二、判断题(本大题共 10 小题,每小题 1 分,共 10 分) ? 题号 答案 题号 答案 题号 答案 1 × 5 × 9 × 2 × 6 √ 10 × 3 √ 7 × ? ? 4 √ 8 √ ? ? ? 三、综合应用题(本大题共 10 小题,共 50 分) 1、答:(1)S-prior=P-prior; (1分) (2)P-prior-next=S; (2分) (3)S-next=P; (1分) (4)P-prior=S; (1分) ? ? ? ? ? ? ? ? 4、答: 迭代次数 集合 S ? 选择 顶点 距离 D[2] D[3] D[4] D[5] D[6] ? {} ? 2 15 ∞ ∞ ∞ 1 {1} 2 ? 15 ∞ 12 32 2 {1,2} 5 15 27 ? 32 3 {1,2,5} 3 ? 27 ? 25 4 {1,2,5,3} 6 ? ? 27 ? ? 5 {1,2,5,3,6} 44 ? ? ? ? ? 6 {1,2,5,3,6,4} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 四:算法设计题(本大题共 3 小题,共 20 分) 1、答:链表的就地逆置 本算法的思想是逐个地把L的当前元素r插入新的链表头部。 void Linkedreverse(LinkedList L) {//链表的就地逆置 p=L-next; //p指向链表第一元素 L-next=NULL; //初始化为空表 while(p!=NULL) {r=p-next; //r指向p的后继结点 p-next=L-next; //逆置并插入表头 L-next=p; p=r; //p仍指向待逆置结点 } } (3分) ? 2.void inorder(BiTree t) {if(t) {inorder(t-lchild); visit(t-data); Inorder(t-rchild); } ? ? ? ? ? ? ? 2、int partition(int R[],int s,int t) {int i=s,j=t,x=R[i].key,rp=R[s]; while(ij) {while(ij R[j].key=x) j--; R[i]=R[j]; while(ij R[i].key=x) i++; R[j]=R[i]; } return i; } ? ? ? 3、void delete(BSTree t,int k) ∥在二叉排序树bst上,删除其关键字为K的结点。 {BSTree f,p=*bst; while(p p-key!=K) ∥查找值为K的结点 if(p-keyK) {f=p; p=p-lchild;} else {f=p; p=p-rchild;} if(p==null) {printf(“无关键字为K的结点\n”); exit(0); } if {p-lchild==null} ∥被删结点无左子树 {if(f-lchild==p)f-lchild=p-rchild; ∥将被删结点的右子树接到其双亲上 else f-rchild=p-rchild; else {q=p; s=p-lchild; ∥被删结点有左子树 while(s-rchild !=null) ∥查左子树中最右下的结点(中序最后结点) {q=s; s=s-rchild;} p-key=s-key; ∥结点值用其左子树最右下的结点的值代替 if(q==p) p-lchild=s-lchild; ∥被删结点左子树的根结点无右子女

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档