2007~2008学年《数据结构》A
- 格式:doc
- 大小:131.00 KB
- 文档页数:8
邯郸学院2008-2009学年第一学期2007级计算机科学与技术专业本科期末考试试卷(A )答案及评分标准课程名称: 数据结构 任课教师: 司玲玲 考试时间: 120 分钟一、单项选择题(每题2分,共20分)1. C2. D3. C4. D5. B6. B7. D8. A9. B 10. A每题正确得2分,错误不得分。
二、判断题(每题1分,共10分) 1.ⅹ 2. ⅹ 3. √ 4. ⅹ 5.√ 6.ⅹ7. √8. √9.ⅹ10.√每题正确得1分,错误不得分。
三、填空题(每题2分,共20分) 1. 树型结构 图状结构 2. O(1) O(n) 3. SXSSXSXX 4. 字符 串长相等且对应位置上的字符也相等 5. Head(Tail(Head(Tail(L)))) 6. G 7. 2 1 8. 左子树 右子树 9. O(n) 10. 比较 交换每题正确得2分(只有1空的题1空占2分,有2空的题1空1分),错误不得分。
四、应用题(每题6分,共30分) 1.(1)⎝⎛-00280250000018016000 ⎪⎪⎪⎪⎪⎭⎫0000⎝⎛-0051025000002200032⎪⎪⎪⎪⎪⎭⎫00690 (2) ((1,1,32),(2,2,-4),(2,5,69),(4,2,79))正确画出一个矩阵得2分,二个均正确得4分,写出正确的三元组表得2分,部分正确则酌情给分。
2.(1) (2)正确画出邻接矩阵得3分,正确画出邻接表得3分(邻接表中结点顺序可不与参考答案一致),部分正确则酌情给分。
3.(2)WPL=7*4+19*2+2*5+6*4+32*2+3*5+21*2+10*4=261画出的赫夫曼树符合构造原理即可得4分(不要求与参考答案完全一致),部分正确则酌情给分(1—3分),正确列出计算WPL 值的公式得1分,结果正确得1分。
4. H(13)=1+13%7=7 H(15)=1+15%7=2 H(22)=1+22%7=2 冲突 H 1(22)=(2+3)%8=5 H(8)=1+8%7=2 冲突 H 1(8)=(2+3)%8=5 冲突 H 2(8)=(2+6)%8=0H(34)=1+34%7=7 冲突 H 1(34)=(7+3)%8=2 冲突 H 2(8)=(7+6)%8=5 冲突 H 3(8)=(7+9)%8=0 冲突 H 4(8)=(7+12)%8=3H(19)=1+19%7=6 01234567写出详细计算步骤并正确得4分,画出表得2分,部分正确则酌情给分。
20XX年复习资料大学复习资料专业:班级:科目老师:日期:广东商学院试题参考答案及评分标准20XX12-20XX13 学年第一学期课程名称: 数据结构(A 卷) 课程代码:20XXXX0XX20XXXX0XX 课程负责人:罗勇题号1 2 3 4 5 6 7 8 9 20XXXX 答案B A AC BACADC题号1 2 3 4 5 6 7 8 9 20XXXX 答案C B C B DDABAB题号1 2 3 4 5 6 7 8 9 20XXXX答案× √ × √ √ × × × √ ×四、算法分析(每小题5分,共20XXXX 分)1.(1) ABC_1是直接插入排序方法。
(1分) 最坏情形下,)(2/2/)1)(2(i KCN 222n O n n n ni =≈-+==∑= (1分))(2/2/)1)(4()21(RMN 22n2n O n n n i i =≈-+=+-=∑= (1分)(2) 排序过程如下:(2分)初始key r[0] (65) 38 80 50 20XXXX 27i=2 38 (38 65) 80 50 20XXXX 27 i=3 38 (38 65 80) 50 20XXXX 27 i=4 50 (38 50 65 80) 20XXXX 27i=5 20XXXX (20XXXX 38 50 65 80) 27 i=6 27 (20XXXX 27 38 50 65 80) (注:哨兵单元不正确扣1分,已排序列不正确扣1分)2.(1) 算法ABC_2功能:以中序遍历的次序,按关键字值递增的顺序依次输出值小于等于给定值60的结点。
若找到值大于60的结点,提前退出算法。
(3分)(2)20XXXX 20XX 35 45 55(每个值输出后换行)(2分)五、算法设计(共10分)(1)写出单链表存储结构的类型定义。
Typedef struct {int data; (1分)struct LNode *next; (1分)} LNode, *LinkList; (1分)(2)status Delete_L(LinkList &L, int min, int max) { LinkList p,q,s;p=L;while (p&&p->next->data<=min) (2分)p=p->next;if (!p) return ERROR;q=p->next;while (q&&q->data<=max) (3分){ s=q;q=q->next;free(s);} //whilep->next=q; (2分)return OK;}//Delete_L教师(签名):年月日。
福建农林大学考试试卷评分标准(A)卷2007 ——2008 学年第一学期课程名称:数据结构考试时间:120分钟专业年级班学号姓名一、选择题(每小题1分,共20分)C)。
A. 便于随机存取B. 存储的密度较高C. 便于元素的插入和删除操作D. 元素的物理顺序与逻辑顺序一致2、在长度为n的顺序表中,向第k个元素(1≤k≤n+1)之前插入一个新元素时,需向后移动(B)个元素。
A. n-1B. n-k+1C. n-k-1D. k3、设用一维数组S存储一个栈,令S[n-1]为栈底,变量top表示当前栈顶的位置(下标),即S[top]为栈顶元素。
则,元素出栈后top应做如下(B)的修改。
A. top--;B. top++;C. top = n-1;D. top = -1;4、上一题中,栈满的条件表达式应为(C)。
A. top==nB. top==n-1C. top==0D. top==-15、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6先后进入栈S,一个元素出栈后即进入队列Q,若6个元素的出队顺序是e2,e4,e3,e6,e5,e1,则栈S至少可以容纳(A)个元素。
A. 3B. 4C. 5D. 66、设有一个大小为m的数组queue表示循环队列,若f表示当前队头元素在数组中的位置,r表示队尾元素的后一位置(按顺时针方向),则计算队列中元素个数的表达式为(D)。
A. r-fB. (m-f-r) % mC. (m+f-r) % mD. (m+r-f) % m7、深度为5的二叉树至多有(B)个结点。
A. 30B. 31C. 32D. 638、设二叉树中任一结点的值大于它的左子树中每个结点的值,而小于右子树中每个结点的值,即是一个二叉排序树。
若要获取该二叉树中所有结点的值的递增序列,应采用下列(B )的方法遍历二叉树。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历 9、由3个结点可以构成(C )棵形态不同的二叉树。
题一二三四五总分总评分人复查人分值40203010100得分湛江师范学院2008年-2009学年度第1学期期末考试试题A卷(考试时间:120分钟)考试科目: 数据结构请将所有答案填写在答题卡上,交卷时请将所有试卷上交一、单选题(每小题2分,共40分)1.下列算法的时间复杂度是( B )。
for ( i=0; i<n; i++) c[i][j]=i+j;A O(1)B O(n)C O(log 2n)D O(n 2)2.每一个存储结点不仅含有一个数据元素,还包含一个指针,该存储方式是( B )存储方式。
A 顺序B 链式C 索引D 散列3.指针p 指向以L 为头指针的循环链表的首元素的条件是( A )。
A p==L B p->next==L C L->next==p D p->next==NULL 4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后,栈顶元素的值是( B )。
A AB BC CD D5.经过下列栈的运算后GetTop(S)的值是( A )。
InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 2( )( )6.栈的特点是( B )。
A 先进先出B 后进先出C 后进后出D 不进不出7.经过下列运算后GetHead(Q)的值是(A )InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b);A aB bC 1D 28.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为(C )。
A 1000B 1010C 1008D 10209.二叉树第i层上最多有(C )个结点。
A 2iB 2i-1C 2i-1D i210.满二叉树(A )二叉树。
A 一定是完全B 不一定是完全C 不是D 不是完全11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while ( p->rchild!=null ) p=p->rchild,则(A )。
北京信息科技大学2007~2008学年第2学期《数据结构》课程期末考试试卷(A卷)授课系别:计算机学院_适用班级:计0601-0602考试形式:_闭卷_班级:姓名:学号:注意事项:1、试题答案全部以顺序写在答题纸上一、判断题(每小题1分,共10分)(1) 一些表面上很不相同的数据可以有相同的逻辑结构。
( )(2) 线性表的逻辑顺序与物理顺序总是一致的。
( )(3) 算法原地工作的含义是指不需要任何额外的辅助空间。
( )(4) 任何无环的有向图,其结点都可以排在一个拓扑序列里。
( )(5) 栈是一种后进先出的线性存储结构。
( )(6) 队列是一种先进先出的线性存储结构。
( )(7) 在k叉树的第i层上至少有2i-1个结点。
( )(8) 数据结构的形式定义为一个二元组Data_Structure=(D, S)。
( )(9) 在数据结构中,与所使用的计算机无关的是数据的逻辑结构。
( )(10) 二叉树的叶子节点在先序、中序和后序遍历序列中的相对次序是不变的。
( )二、单项选择题(每小题2分,共20分)(1)链表不具备的特点是()。
A. 不必事先估计存储空间B. 可随机访问任一节点C. 插入删除不需要移动元素D. 所需空间与其长度成正比(2)一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。
A. edcbaB. decbaC. dceabD. abcde(3)串可看作是一种特殊的线性表,其特殊性体现在()A. 可以顺序存储B. 可以链式存储C. 数据元素可以是多个字符D. 数据元素是一个字符(4)排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。
A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序(5)采用顺序查找法查找长度为n的线性表时,每个元素的平均查找长度为()。
A. nB. n/2C. (n+1)/2D. (n-1)/2(6)一个线性表是n个()的有限序列(n≥0),n称为线性表的长度。
2008级计算机、软件、网络专业2009—2010学年 第一学期《数据结构》期末试题(A 卷)一、 填空题(20空×1分=20分)1.( )是数据的最小单位,( )是讨论数据结构是涉及的最小数据单位。
2.在有尾指针rear 指示的循环单链表中,在表尾插入一个结点s 的操作序列是( );删除开始结点的操作序列为( )。
3.( )可作为实现递归函数调用的一种数据结构。
4.栈和队列是两种特殊的线性表,栈的操作特性是( ),队列的操作特性是( ),栈和队列的主要区别在于( )。
5.数组通常只有两种运算:存取和( ),这决定了数组通常采用( )结构来实现存储。
6.一棵有(0)n n >个结点的满二叉树共有( )个叶子结点和( )个非终端结点。
7.图的深度优先遍历类似于树的( )遍历,它所用到的数据结构是( )。
8.设有一个已按各元素值排好序的线性表,长度为125,用折半查找与给定值相等的元素,若查找成功,则至少需要比较( )次,至多需比较( )次。
9.对n 个待排序记录序列进行快速排序,所需要的最好时间是( ),最坏时间是( )。
10.一棵5阶B_树中,除根结点外,每个结点的子树数目最少为( ),最多为( )。
二、选择题(10题×2分=20分)1.下面( )不是算法所必须具备的特性。
A .有穷性B .确切性C .高效性D .可行性2.链表不具有的特点是( )。
A .可随机访问任一元素B .插入、删除不需要移动元素C .不必事先估计存储空间D .所需空间与线性表长度成正比3.使用双链表存储线性表,其优点是可以( )。
A .提高检索速度B .更方便数据的插入和删除C .节约存储空间D .很快回收存储空间4.一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是( )。
A .54321B .45321C .43512D .123455.一个队列的入队顺序是1,2,3,4,则队列的输出顺序是( )。
2008—2009学年第1学期统计专业本科2007、2006 级(二、三年级上学期)《数据结构》期末闭卷考试(A卷)参考答案与评分标准一、参考答案一、判断题(每小题5分,共10分)二、简答题(每小题5分,共60分)第1题:(略)第2题:(略)第3题:(略)第4题:(略)第5题:(略)第6题:(略)第7题:(略)第8题:(略)第9题:(略)第10题:(略)第11题:(略)第12题:(略)五、设计题(每小题10分,共30分)第1题:(略)第2题:(略)第3题:(略)二、评分标准一、判断题(每小题5分,共10分)每一小题:对者,给5分;错者,给0分。
二、简答题(每小题5分,共60分)每一小题:全对者,给5分;部分对者,可酌情给1~4分;全错者,给0分。
三、设计题(每小题10分,共30分)第1题:所编写的算法、程序,能完全实现本题功能,并完全符合结构化算法设计、C语言/VB 语言结构程序设计要求者,给10分。
所编写的算法、程序,能部分实现本题功能,并基本符合结构化算法设计、C语言/VB 语言结构程序设计要求者,给1~9分。
所编写的算法、程序,完全不能完全实现本题功能,并完全不符合结构化算法设计、C 语言/VB语言结构程序设计要求者,给0分。
第2题:所编写的算法、程序,能完全实现本题功能,并完全符合结构化算法设计、C语言/VB 语言结构程序设计要求者,给10分。
所编写的算法、程序,能部分实现本题功能,并基本符合结构化算法设计、C语言/VB 语言结构程序设计要求者,给1~9分。
所编写的算法、程序,完全不能完全实现本题功能,并完全不符合结构化算法设计、C 语言/VB语言结构程序设计要求者,给0分。
第3题:所编写的算法、程序,能完全实现本题功能,并完全符合结构化算法设计、C语言/VB 语言结构程序设计要求者,给10分。
所编写的算法、程序,能部分实现本题功能,并基本符合结构化算法设计、C语言/VB 语言结构程序设计要求者,给1~9分。
10.要保证数据库的数据独立性,需要修改的是(c )(A)模式与外模式(B)模式与内模式(C)三级模式之间的两层映射(D)三层模式12. 数据库的( )是指数据的正确性和相容性()(A)并发控制(B)完整性(C)安全性(D)共享性答案:B分数:1题型: 选择题难度:118、删除数据库命令是()a.delete tableb.drop tablec.drop databased.delete database 答案:C分数:1题型: 选择题难度:126. 阅读下面的一系列SQL语句:create table table1(column1 int)insert into table1 values(91)create view view1 as select * from table1 where column1<=100 with check option insert into view1 values(95)insert into view1 values(110)insert into table1 values(101)按顺序执行完上面这六条SQL语句之后,运行select count(*) from table1的值()(A) 1 (B)2 (C) 3 (D) 4答案:C分数:1题型: 选择题难度:128.SQL中,“DELETE FROM 表名”表示[]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组答案:A分数:1题型: 选择题难度:135.在S Q L语言中,属于D C L的操作命令是)(A)GRANT (B)CREATE (C)UPDATE (D)DROP答案:A分数:1题型: 选择题难度:136.S Q L语言中,S E L E C T语句的执行结果是() (A)表(B)属性(C)元组(D)数据库答案:C分数:1题型: 选择题难度:144.在SQL语言中,子查询是()(A)返回单表中数据子集的查询语言(B)选取多表中字段子集的查询语句(C)选取单表中字段子集的查询语句(D)嵌入到另一个查询语句之中的查询语句答案:D分数:题型:选择题难度:147、视图是一个“虚表”,视图的构造基于()A.基本表B.视图C基本表或视图 D.数据字典答案:C分数:题型:选择题难度:149. 可以将某个22元的商品价格改为18元的视图是()(A)create view v1 as select * from goods where price>20(B)create view v2 as select * from goods where price<20(C)create view v3 as select * from goods where price>20 with check option(D)create view v4 as select * from goods where price<20 with check option答案:A分数:题型:选择题难度:351. 设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,BFROM R JOIN S WHERER.B=S.BAND C≠'C56'等价的关系代数表达式是()A.πA,B(σC≠'C56' and R.B=S.B(R⋈S))B.πA,B(R ⋈S)C.R-πA,B(σC= 'C56'(R⋈S))D.R-πA,B(σC≠'C56'(R⋈S))答案:A分数:题型:选择题难度:352. 五种基本关系代数运算是()A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ答案:A分数:题型:选择题难度:254. 二维表(关系模式)中各范式之间的关系为()(A)1NF⊂2NF⊂3NF⊂BCNF (B)1NF⊂3NF⊂2NF⊂BCNF(C)1NF⊃3NF⊃2NF⊃BCNF (D)1NF⊃2NF⊃3NF⊃BCNF分数:题型:选择题难度:358. 全局ER模型的设计,需要消除属性冲突、命名冲突和()(A)联系冲突 (B) 结构冲突 (C)类型冲突 (D)实体冲突答案:B分数:题型:选择题难度:160.逻辑数据独立性是指修改() (A)内模式保持模式不变(B)外模式保持模式不变(C)模式保持外模式不变(D)模式保持内模式不变答案:C分数:题型:选择题难度:263. 在 E-R 模型转换成关系模型的过程中,下列叙述不正确的是( )(A)每个 M ∶ N 联系类型转换一个关系模式(B)每个实体类型转换成一个关系模式(C)每个联系类型转换成一个关系模式(D)在处理 1 ∶ 1 和 1 ∶ N 联系类型时,不生成新的关系模式。
3、瀑布模型的关键不足在于()A、过于简单B、不能适应需求的动态变更C、过于灵活D、各个阶段需要进行评审4、软件使不同的系统约束条件和用户需求得到满足的容易程度称为软件的()A、兼容性B、可靠性C、坚固性D、可用性5、软件质量(可维护性、可理解性、可靠性)很大程度取决于()A、程序员的变成水平B、模块分解的合理C、程序运行效率D、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
四、算法设计题(第1题6分,第2和3题各7分,共20分)1.(6分)设T是二叉排序树根结点的指针,编写递归算法在二叉排序树T中查找元素值为X(设二叉排序树的结点的值是整型)的结点。
BSTree SearchBST(BSTree T,int X){∥在二叉排序树T中查找值为X的结点,查找成功返回结点指针,失败返回空指针if(!T||X==T->key) return(T);else if(X<T->key) return(SearchBST1(T->lchild,X));else return(SearchBST1(T->rchild,X));}∥SearchBST评分标准:正确得6分,错误酌情减分。
2、(7分)设图的顶点只是编号1――n,边的信息是有(用1表示)或无(用0表示),这时可用邻接矩阵表示图的存储结构。
请编写算法建立图的邻接矩阵的存储结构(设有n 个顶点e条边)。
void creatgraph(int M[][],int n,int e){∥本算法建立n个顶点e条边的无向图的邻接矩阵的存储结构(设下标从1开始)int i,j;for (i=1;i<=n;i++)for(j=1;j<=n;j++)g[i][j]=0;for (i=1;i<=e;i++){scanf(&i,&j);M[i][j]=1; M[j][i]=1;}}评分标准:正确得7分,错误酌情减分。
3、(7分)顺序表la与lb非递减有序,顺序表空间足够大。
试设计一种高效算法,将lb 中元素合到la中,使新的la的元素仍保持非递减有序,时间复杂度要求O(st+st)。
高效指最大限度地避免移动元素。
SeqList Union(SeqList la, SeqList lb){∥本算法将顺序存储的非递减有序线性表lb合并到la中,元素仍非递减有序m=st;n=st;∥m,n分别为线性表la和lb的长度k=m+n-1; ∥k为结果线性表的工作指针(下标)i=m-1;j=n-1; ∥i,j分别为线性表la和lb的工作指针(下标)while(i>=0 && j>=0)if(la.data[i]>=lb.data[j]) la.data[k--]=la.data[i--];else la.data[k--]=lb.data[j--];while(j>=0) la.data[k--]=lb.data[j--];st=m+n;return la;}评分标准:正确得7分,错误酌情减分。
目 录2013年山东师范大学855数据结构A历年考研真题2012年山东师范大学856数据结构A历年考研真题2011年山东师范大学856数据结构A历年考研真题2010年山东师范大学数据结构A历年考研真题2009年山东师范大学数据结构A历年考研真题2008年山东师范大学数据结构A历年考研真题2007年山东师范大学数据结构A历年考研真题2006年山东师范大学数据结构A历年考研真题2005年山东师范大学数据结构A历年考研真题2013年山东师范大学855数据结构人历年考研真题考试科E 注意事窿L 二填空顺席写在即L数却2.没不金具有6.砒<818.在平A的9.Xf-■把第二、写算法题1.改计2,设ir3,缶.点4.气山东师范大学硕士研究生入学考试试题1名称:数据结构A试题编号;衣试卷尤5道大题《共H18个小题),满分1知分;本卷风试收卷.答题另肯答飓卷,忤案一律与枇容四卷上,写任该试题卷I-.或单纸卜.均无没妾注意试卷沽洁,不要住试卷卜滁灿四须用瞌、您钢筮或网球堡拎题,*它均无泡.挞由龙许使用悴通计算嚣定•10分”本大尚共9小题,10个空.群空4分,将成埴在卜剧践地的件案,fe 题纸h)靖梅中评价算弁的两个收要指标是⑴和12U-个10X10的耐称矩阵A[10][10J.采取上三甜矩阵核行压缩存储的力式存一个一维数组B[]中,A(0][0)>.;第一个元为,存放J BW1.AH中旬个数据元B[]中占个位挥顶A圆[5]在敏折BI]中的位置为〔3):一算术表送式的中貂形式为A+BT-D E,后缀形式为ABC*+DE/-.倏前缓为(4"林F中有二棵树.第、第:,第二棵树聘结点个数分切为Ml. M2HI M3.林F双庇的二又树根结盘的右于树上的姑点个敦是(5).6个质点的无向图至少W仃f6J条边彳•能确保是个连」也图.邻接表表示的圈进行任一种遍必时.其时间复杂度姑⑺*在肖序茹表AJL-0]上进律二分栗投,她比绞四次卉找成功的鳍点个数为徵.「义柑中而入一个帖点后造成J'不平也,&最低的不平衙结点为A,并已知拦核!■的平衡而J'为0,1,接f的平础于为1,则应作⑼型调整以使耳平衡。
考试答案不得超过此线安庆师范学院2008—2009学年度第一学期期末考试试卷《数据结构》(A卷)答案一、选择题(每题2分,共30分)。
1、B2、C3、A4、C5、C6、C7、B8、B9、D 10、D 11、B 12、B 13、D 14、D 15、C二、填空题(共9题,共15分)1、362、O(1)、O(logn)3、2614、cdefde5、p->piror s->piror->next=s6、LS=LS->next free(p)或者delete(p)7、(40,38,46,56,79,84) 8、(a) (a) 9、 3三、读算法,写结果(每小题4分,共8分)1、2、(说明:只绘出如下图,也给4分)算法实现带头结点的单链表L的就地逆置。
四、应用题(共6小题,共37分)1、(说明:只有序列,加3分;绘制如下图,得4分)(1)根的确定:由后序序列可知其最后一个(即A)为根………(1分)(2)左右子树的确定:由中序序列,根A左边的子序列(即C D)为其左子树(3个结点,其中1个未知),右边的子序列(即GHF)为其右子树(4个结点,其中1个未知)……………………………(3分)最后的结果,如下图:2、考试答案不得超过此线3、4、(1)散列表构造及其查找成功的比较次数………………(2分)(2)计算成功时的平均查找长度…………………………(2分)ASL=(5×1+3×2+1×4)/9=15/9(3)计算查找不成功时的比较次数………………………(2分)计算不成功时的平均查找长度ASL=(3+2+1+8+7+6+5+4+3+2+1)/11=42/115、所求得的MST 为……………………………………………(3分)6、(1)计算next 值……………………………………………(3分)1A 3(2)画出KMP 的匹配过程………………………………(5分) 第一趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A考试答案不得超过此线第二趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A第三趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A第四趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A第五趟:A DB A D A B B A A B A D A B B A D A D AA D AB B A D A D A五、算法填空及设计题(共2小题,共10 分)1、(5分)void Print(BNode *TL ){if (TL!=NULL){if(TL->Lchild==NULL&& TL->Rchild==NULL)cout<<TL->data;Print(TL->Lchild);Print(TL->Rchild);}}2、(5分)void InsertList ( SqList *L, ElemType x){ i=L.length-1;while( i>=0 && L.elem[i]>x ){ L.elem[i+1]=L.elem[i]; i--; }L.elem[i+1]=x; L.length++;}。
教学总结一、主要教学工作及完成情况《数据结构》-概述说明以及解释1.引言教学总结一、主要教学工作及完成情况《数据结构》1.引言1.1 概述在本次教学中,我主要负责《数据结构》课程的教学工作。
数据结构是计算机科学与技术中的重要基础课程,是学生理解和掌握程序设计与算法的必备知识。
通过本次教学,我将学生引入数据结构的世界,帮助他们掌握数据结构的基本概念、原理和应用,培养他们的问题解决能力和编程思维。
在教学过程中,我采用了多种教学方法和手段,包括讲解、示范、练习、实践等,以激发学生的学习兴趣和促进他们的知识吸收和运用。
通过这些努力,我希望能够培养学生的批判性思维和创造性思维,使他们能够在实际工作中灵活运用所学知识解决问题。
通过本次教学,我不仅为学生提供了一次深入理解数据结构的机会,还通过实践性的教学方法,帮助他们提高了编程能力和解决问题的能力。
在教学过程中,我也不断总结经验教训,不断改进教学方法,以更好地适应学生的需求和提高教学效果。
文章结构部分应该包括对整篇文章的布局和组织进行简要介绍。
以下是文章结构部分可能的内容:1.2 文章结构本文主要分为三个部分,分别是引言、主要教学工作及完成情况《数据结构》以及教学总结。
在引言部分中,将对本文的整体内容进行概述,介绍文章结构和目的。
主要教学工作及完成情况《数据结构》部分将具体分析本人在教学过程中所完成的教学内容、采用的教学方法以及教学效果。
最后,在教学总结部分将回顾整个教学过程,总结收获和不足,并展望未来的教学发展方向。
整体来说,文章结构清晰明了,分为引言、主体和结论,每个部分都有其独特的内容和目的,以便读者能够清晰地理解本文的内容。
1.3 目的在进行教学总结的过程中,我们的主要目的是对本学期《数据结构》课程的教学工作进行全面回顾和总结,分析教学过程中存在的问题和不足之处,总结教学中取得的成绩和经验教训,为今后的教学工作提供借鉴和参考。
通过本次教学总结,我们希望能够进一步完善课程教学内容和教学方法,提高教学效果,促进学生的学习和发展,实现教育教学的双赢目标。
试卷代号:1252中央广播电视大学2012-2013学年度第二学期“开放本科”期末考试一、单项选择题(每小题2分,共30分)1.在C语言中,顺序存储长度为3的字符串,需要占用( )个字节。
A.4 B.3 C.6 D.12 2。
串函数StrCat(a,b)的功能是进行串( )。
A.比较B.复制C.赋值D.连接3.-棵有n个结点采用链式存储的二叉树中,共有( )个指针域为空。
A.n+l B.n C.n-l D.n-2 4.设一棵哈夫曼树共有n个非叶结点,则该树有( )个叶结点。
A.n B.n+l C.n-l D.2n 5.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。
A. x=top->data;top=top->next B.x=top->dataC. top= top->next; x=top->dataD.top=top->next;x=data6.一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。
A.30 B.20 C.21 D.237.在一个无向图中,所有顶点的度数之和等于边数的( )倍。
^A.O上;.B.3 C.1.5 D.2 8.已知如图1所示的一个图,若从顶点V,出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。
9.已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。
A. abcedf B. abcefd C. aebcfd D. acfdeb10.对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。
A.按层次B.后序C.中序D.前序11.在有序表(2,4,7,14,34,43,47,64,75,80,90,97,120)中,用折半查找法查找值80 时,经( )次比较后查找成功。
A.4 B.2 C.3 D.512.有一个长度为9的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。
华侨大学《数据结构》试卷(A)系别:班级:学号:姓名:考试日期:年月日一、选择题(每题1.5分,共15分)1、若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前移动()个数据元素。
A.n-iB.n+iC.n-i-1D.n-i+12、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()。
A.顺序表B.用头指针表示的单循环链表C. 用尾指针表示的单循环链表D.单链表3、将一个递归算法改为对应的非递归算法时,通常需要使用()。
A. 栈B. 队列C. 循环队列D. 优先队列4、设有两个串t和p,求p在t中首次出现的位置的运算叫做()。
A. 求子串B. 模式匹配C. 串替换D. 串连接5、设有一个二维数组A[20][30],以行为主序储存,假设A[0][0]存放位置在64410,每个元素占据一个储存空间,则A[4][5]存储在()位置。
A. 69210B.62610C.76910D. 724106、由权值分别为3,8,6,2,5的叶子结点生成一棵赫夫曼树,它的带权路径长度WPL为()。
A. 24B. 48C. 72D. 537、一个无向连通图的生成树是含有该连通图的全部顶点的()。
A.极小连通子图B.极小子图C.极大连通子图D.极大子图8、具有n个顶点的有向完全图可包含()条有向边。
A.n-1 B.n C.n(n-1)/2 D.n(n-1)9、设有一个用开放定址法的线性探测再散列处理冲突的哈希表如下:哈希函数为H(key)=key%11,若要查找关键字14的记录,所需的探测次数是()。
A. 3B. 6C. 7D. 910、在下列排序方法中,不稳定的排序是()。
A. 直接插入排序B. 归并排序C. 快速排序D.冒泡排序二、填空题(每空1分,共10分)1、数据的逻辑结构被分为集合、和网状结构四种。
2、在一个稀疏矩阵中,每个非零元素所对应的三元组包括该元素的、和值三项。
3、一棵高度为5的二叉树中最少含有个结点,最多含有个结点;一棵高度为5的完全二叉树中,最少含有个结点,最多含有个结点。
4、在线性表中采用折半查找法(二分查找法)查找一个数据元素,线性表中元素应该按值有序,并且采用存储结构。
5、若对序列(49,38,65,97,76,13,27,50)采用简单选择排序法排序,则第二趟结束后序列的状态是。
三、解答题(每题5分,共30分)1、指出下面算法中,带下划线语句的语句频度,并估计该算法的时间复杂度。
int Sum_fact(int n){int s=0,m,k,t;for(m=1;m<=n;m++){t=1;for(k=1;k<=m;k++) t*=k;s+=t;}return s;}2、设进栈序列为A,B,C,D,E,试问能否分别得到D,C,E,B,A和C,D,A,B,E的出栈序列?若不能得到,请说明理由;若可以得到,则写出以“push”表示进栈,“pop”表示出栈的栈操作序列。
3、已知二叉树bt的中序遍历序列为:BDACEFHGJIK,先序遍历序列为:EABDCFGHIJK,请构造该二叉树(画出树形),并画出对应的后序线索二叉树(不带头结点)。
4、试画出如下图所示的无向图G的邻接表表示,要求邻接表中的各顶点的邻接链表中表结点按顶点序号从小到大排列。
根据你所给出的邻接表,写出从A出发的广度优先搜索序列,并画出从顶点A出发的广度优先搜索(bfs)生成树。
无向图G5、已知表长为14的有序顺序表,试画出对其进行折半查找时的判定树,并计算等概率下查找成功的平均查找长度和查找不成功的平均查找长度。
6、已知待排序序列为(48,70,33,65,24,56,12,92,86,22),给出采用快速排序算法进行关键字从小到大排序时第一趟分划的详细过程。
(取第一个关键字为支点关键字)四、算法阅读题(每题5分,共15分)1、设list为带头结点的单链表头指针,阅读下面算法,指出该算法的功能。
typedef struct Node{char name[10];int age,score;struct Node* next;}* LinkList;void fun1(LinkList & list,int order) //order表示结点在链表中的位序(从1开始){if(! (order>=1 && order<=Get_length(list)) ){// Get_length(list)返回表list的长度cout<<"Error order found\n";return NULL;}LinkList t=list->next;int num=1;while(num<order){num++;t=t->next;}cout <<t->name<<”,”<<t->age<<”,”<<t->score<<endl;}2、阅读下面算法,指出该算法的功能。
Status fun2(char *str){Stack T; Queue Q;char ch1, ch2; int i ;InitStack(T);InitQueue(Q);for ( i = 0; str[i] != ‘\0’; i++) {Push( T, str[i] );EnQueue( Q, str[i] );}for ( i =1; i <= StackLength(T)/2 ; i++ ){ //StackLength(T)返回栈T的长度Pop(T, ch1) ;DeQueue( Q, ch2);if ( ch1 != ch2 ) return false;}return true;}3、设二叉树T以二叉链表为存储结构,指出下面算法的功能。
int fun3(BiTree T){if (!T ) return 0;if (T->lchild != NULL && T->rchild != NULL ) return 1;else return (fun3( T->lchild) + fun3 ( T->rchild));}五、算法设计题(共30分)(说明:你所设计算法中若需调用基本操作,需给出实现该基本操作的算法)1、设L为带头结点的单链表头指针且链表长度大于2,试设计算法删除链表L的首结点,并将该结点插入到链表L的尾结点之后。
(10分)2、设二叉排序树bt以二叉链表为存储结构,试设计算法删除二叉排序树bt中值最大的结点。
(8分)3、试设计算法Create_dg(Mgraph g1,Algraph &g2),将数组表示的有向图g1,转换成邻接表表示的有向图g2。
(12分)#define INFINITY INT_MAX#define MAX_NUM 20//图的数组(邻接矩阵)存储表示:typedef struct ArcCell{VRType adj;InfoType *info;} ArcCell;typedef struct{VertexType vexs[MAX_NUM] ;ArcCell arcs[MAX_NUM] [MAX_NUM];int vexnum , arcnum;}MGraph; //图的邻接表存储表示:typedef struct ArcNode{int adjvex;struct ArcNode *nextarc;}ArcNode;typedef struct VNode{VertexType data;ArcNode *firstarc;}VNode;typedef struct{VNode vertices[MAX_NUM];int vexnum , arcnum;}ALGraph;A卷参考答案一、选择题(共15分,每小题1.5分)二、填空题(共10分,每小题1分)1.2.3.4.5.三、解答题(共30分,每小题5分)1.t=1;的语句频度是n-----------------------(1分)t*=k; 的语句频度是n(n+1)/2---------------(2分)该算法的时间复杂度是O(n(n+1)/2)=O(n2)----(2分)2.可以得到D,C,E,B,A的出栈序列,其出栈操作序列是:push,push,push,push,pop,pop,push,pop,pop,pop---------(2.5分)不能得到C,D,A,B,E的出栈序列,因为要先得到C,D的出栈子序列,则A,B必已进栈。
由栈的后进先出特性,B必先于A出栈,因此不可能得到C,D,A,B,E的出栈序列。
----(2.5分)3.该二叉树的后序遍历序列为:DBCAHJKIGFE(2分),中序线索二叉树(不带头结点)为:(3分)4. 无向图G 的邻接表表示如下:(2分)从A 出发的bfs 序列是:A,B,C,E,D,F (1.5分) bfs 生成树是: (1.5分)5.判定树(2分)ASL succ =1114i i C =∑= 114(1+2*2+3*4+4*7)=4514 (1.5分)ASL unsucc=591515115iic=∑=115(3*1+4*14)=5915(1.5分)6.快速排序算法进行排序时第一趟快速划分的详细过程如下(5分)48 70 33 65 24 56 12 92 86 2222 70 33 65 24 56 12 92 8622 33 65 24 56 12 92 86 7022 12 33 65 24 56 92 86 7022 12 33 24 56 65 92 86 7022 12 33 24 56 65 92 86 70{22 12 33 24} 48 {56 65 92 86 70}四、算法阅读题(共15分,每小题5分)1.根据给定的位序order,返回第order个元素所在位置的指针;若链表中没有第order个元素,则返回NULL。
2. 判断字符串是不是回文(对称)。
3.统计二叉树T中所有结点的个数五、算法设计题(共30分)1.void def_f_ins_l(Linklist &l){ --------1分//删除首结点,插入在尾结点之后p = l->next; --------1分while ( p->nexet) p = p->next; //p指向尾结点--------3分q = l->next; //q指向首结点--------1分l->next = q->next; //删除--------2分p->next = q; //插入--------1分q->next = NULL; //或者 q->next=p->next; p->next = q; --------1分}//del_f_ins_l2.Status del_max(BiTree &bt){ --------1分//删除二叉排序树bt中值最大结点if (!bt) return ERROR; //空树p = bt;if (bt->rchild == NULL){ //根无右子树--------2分bt = bt->lchild; p->lchild = NULL;//此语句可不要free(p);}else{while(p->rchild != NULL){//p移至最右下结点q = p; p = p->rchild;}if(p->lchild != NULL)//有左子树--------5分q->rchild = p->lchild;else q->rchild = NULL;//无左子树free(p);}}//del_max3.Status Create_dg(Mgraph g1.Algraph &g2){ --------1分//将数组表示的有向图g1转换成邻接表表示的有向图g2g2.vexnum = g1.vexnum; g2.arcnum = g1.arcnum; --------1分for(i=0;i<g1.vexnum;++i){//生成g2的表头向量--------3分g2.vertices[i].data = g1.vexs[i];g2.vertices[i].firstarc = NULL;}for(i=0;i<g1.vexnum;++i){//遍历g1的邻接矩阵--------7分for(j=0;j<g1.vexnum;++j)if(g1.arcs[i][j] != 0){p = (arcnode*)malloc(sizeof(arcnode));if(!p) exit(OVERFLOW);p->adjvex = j; //生成表头结点p->nextarc = g2.vertices[i].firstarc; //插入g2.vertices[i].firstarc = p;}//if}//for-ireturn OK;}Create_dg。