数据结构期中考试试题答案.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构期中考试试题答案 一、 单选题(每小题 2 分,共 8 分) 1.在一个长度为 n 的线性表中顺序查找值为 x 的元素时,查找成功时的平均查找长度(即 x 同元素的平均比较次数,假定查找每个元素的概率都相等)为 C 。 A.n B.n/2 C.(n+1)/2 D.(n-1)/2 2.在一个带附加表头的单链表 HL 中,若要向表头插入一个由指针 p 指向的结点,则执行 D 。 A.HL=p;p-next=HL; B.p-next=HL;HL=p; C.p-next=HL;p=HL; D.p-next=HL-next;HL-next=p; 3.若让元素 A ,B , C, D 依次入栈,则出栈次序不可能出现 D 种情况。 A.D,C,B,A B.A,D,C,B C.B,A,D,C D.D,A,B,C 4.从一个顺序队列删除元素时,首先需要 B 。 A. 前移一位队首指针 B.后移一位队首指针 C.取出队首指针所指位置上的元素 D. 取出队尾指针所指位置上的元素 二、 填空题(每空 1 分,共 32 分) 1.数据的逻辑结构分为 集合 、 线性 、 树型 、 图形 四种。 2.函数重载要求 参数个数 、 参数类型 或 参数次序 有所不同。 3.在带附加表头的循环双向链表中, 表头附加结点 的 左 指针域指向最后一个结点,最 后一个结点的 右 指针域指向 表头附加 结点。 4.在以 HL 为表头指针的带附加结点的单链表和循环单链表中,链表为空的条件分别为 HL-next==NULL 和 HL==HL-next 。 5.在由数组 a 中元素结点构成的单链表中,删除下标为 i 的结点后,需要把该结点插入到 空闲表的表头,具体操作为 a[i].next=a[1].next 、 a[1].next=i 。 6.在由数组 a 中元素结点构成的单链表中,删除下标为 i 的结点的后继结点并将被删除结 点的下标赋给 i 时,所进行的操作(需要用一个临时变量 p)描述为 p=a[i].next 和 a[i].next=a[p].next;i=p 。 7.在稀疏矩阵的十字链接存储中,每个结点的 down 指针域指向 列号 相同的下一个结 点, right 指针域指向 行号 相同的下一个结点。 8.一个广义表中的元素分为 单 元素和 表 元素两类。 9.广义表 A=((a,(b,(),c),((d),e))) 的长度为 1 ,深度为 4 。 10.向一个顺序栈插入一个元素时,首先应 top++ ,然后再将待插入元素 放入栈顶位置 。 11.对于队列,应在 队尾 进行插入,在 队首 进行删除。 12.中缀表达式 2+7/(4-1) 所对应的后缀表达式为 2 7 4 1 - / + @ 。 13.后缀表达式“ 10 3 5 4 - * - 1 + 3 2 + - ”的值为 3 。 14.一棵二叉树的广义表表示为 a(b(c,d),e(f(,g))), 则 e 结点的双亲结点为 a ,孩子结点 为f ,树的深度为 4 。 三、运算题(每小题 8 分,共 24 分) 1.假定线性表 L= ( 33,69,78,22,44,88) ,i=3,x=34,y=22, 则对 L 进行下列一组操作 ` ListEmpty(L); false GetElem(L,i); 78 InsertFront(L,x); (34 33 69 78 22 44 88) InsertRear(L,x); (34 33 69 78 22 44 88 34) DeleteFront(L); (33 69 78 22 44 88 34) Delete(L,y); (33 69 78 44 88 34) Sort(L);  (33 34 44 69 78 88) Insert(L,66);  (33 34 44 66 69 78 88) 请写出每步操作后的结果。 2.假定线性表 L= ( 33,85,21,56,30,63,42,91,76 ),调用顺序表的排序算法 void Sort(List L) 对此表进行排序,请写出排序过程。 (将每一步结果写出) 1) [ 33 85 ] 21 56 30 63 42 91 76 2) [ 21 33 85 ] 56 30 63 42 91 76 3) [ 21 33 56 85 ] 30 63 42 91 76 4) [ 21 30 33 56 85 ] 63 42 91 76 5) [ 21 30 33 56 63 85 ] 42 91 76 6) [ 21 30 33 42 56 63 85 ] 91 76 7) [ 21 30 33 42 56 63 85 91 ] 76 8) [ 21

文档评论(0)

穹空无疆 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档