联合考试试卷(数据结构B卷)
湖北省计算机类专业人才培养合作联盟联合考试试卷(数据结构B卷)
注意事项:1.考生将姓名、学号等信息写在试卷相应位置;2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;3.注意字迹清楚,保持卷面整洁。
止。
二、填空题(每小题1分,共10分)1. 一个算法具备的5个特性分别是可行性、有穷性、______、输入和输出。
2. 在有n个元素的顺序表中的任意位置插入一个元素所需移动元素的平均次数为______。
3. 栈是一种具有______特性的线性表。
4. 无论是顺序队列还是链式队列,插入和删除运算的时间复杂度都是______。
5. 递归函数f(1)=1,f(n) = f(n-1) + n(n>1)的递归出口是______。
6. 完全二叉树中节点个数为n,则编号最大的分支节点的编号是______。
7. 对n个顶点的连通图来说,它的生成树一定有______边。
8. 采用哈希存储方法时,用于计算节点存储地址的是______。
9. 对二叉排序树进行______遍历,可以得到按关键字从小到大排列的节点顺序。
10.在排序过程中,不比较关键字大小的排序方法是______。
B-2 共13 页.Word 资料三、单向选择题 (每小题2分,共30分)1. 算法的时间复杂度与______有关。
A 、问题规模B 、计算机硬件性能C 、编译程序质量D 、程序设计语言2. 链表不具有的特点是______。
A 、可随机访问任一元素B 、插入删除不需要移动元素C 、不必事先估计存储空间D 、所需空间与线性表长度成正比3. 已知一个栈的进栈顺序是1,2,3,...,n , 其输出序列是P1, P2,..., Pn, 若P1=n ,则Pi 的值为______。
A 、iB 、n-iC 、n-i+1D 、不确定4. 设顺序循环队列中数组的下标是0~N-1,其头、尾指针分别为f (指向队头元素的前一个位置)和r (指向队尾元素),则其元素个数为______。
A 、r-fB 、r-f-1C 、(r-f)%N+1D 、(r-f+N)%N5. 将递归算法转换成对应的非递归算法时,通常需要使用______保存中间结果。
《数据结构》期终考试试卷(B卷)及答案
适用专业:一、单项选择题(每题2分,共40分)1.算法的时间复杂度是指( )A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数2.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行()。
A.p = q->next ; p->next = q->next; B.p = q->next ; q->next = p;C.q->next = q->next->next; q->next = q; D.p = q->next ; q->next = p->next; 3.下列叙述中正确的是( )A.线性表是线性结构 B. 栈与队列是非线性结构C.线性链表是非线性结构 D. 二叉树是线性结构4.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,25.图的广度优先搜索类似于树的()次序遍历。
A.先根B.中根C.后根D.层次6.具有n个顶点的有向无环图最多可包含()条有向边。
A.n-1 B.n C.n(n-1)/2 D.n(n-1)7.已知单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为( ) 。
A.O(1) B.O(m) C.O(n) D.O(m+n)8.若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( )。
A.s->next=p->next; p->next=s; B.p->next=s; s->next=p->next;C.p->next=s->next; s->next=p; D.s->next=p; p->next=s->next;9.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
2013级软件工程数据结构B卷答案及评分细则
10级软件工程专业《数据结构》试题B卷答案及评分细则一、选择题(每小题3分,共30分,选错不给分,选对给3分)1,C 2,A 3,D 4,C 5,B 6,C 7,B 8,B 9,A 10,A二、填空题(每空2分,共20分,填对给2分,填错不给分)1,2 4;2,SXSSXXSX3,-+A*BC/DE4,128 75,存储位置指针6,任意若干连续字符序列7,相同类型数据元素三、应用题1 解:其步骤为i1=index(S,S1,1)………………………………………………(2分)i2=index(S,S2,1)+3………………………………………………(2分)sub1=substr(S,i1,length(S)-i1+1) …………………………………(2分)sub2=substr(S,i2,length(S)-i2+1…………………………………………(2分) S3=concat(sub1, sub2) ………………………………………………(2分)2 解本题即为构造最小生成树,按照最小生成树的构造方法,构造如下:303解:其拓扑排序序列为152634;156234;152364;512634;516234;512364;5612344 解:按照题目要求构造的二叉树如下四、算法设计题由于队列是先进先出,而栈是先进后出,所以只有经过两个栈,即先在第一个栈里先进后出,再经过第二个栈后进先出来实现队列的先进先出。
因此用两个栈模拟一个队列运算就是用一个栈作为输入,而另一个栈作为输出。
当进队列时,总是将数据进入到作为输入的栈中。
在输出时,如果作为输出的栈已空,则从输入栈将已输入到输入栈的所有数据压入输出栈中,然后由输出栈输出数据;如果作为输出的栈不空,则就从输出栈输出数据。
显然,只有在输入、输出栈均为空时队列才为空。
…………………………(写出思想给5分)一个栈s1用来插入元素,另一个栈S2用来删除元素,删除元素时应将前一栈s1中的所有元素读出,然后进入到第二个栈s2中,算法描述如下:Void Enqueue(s1,x)……………………………………………(2分)stack s1;int x;{if(s1->top==0)Printf(“队列上溢“);ElsePush(s1,x);}Void Dequeue(s1,s2,x) ……………………………………………(2分)Stack s1,s2;Int x;{ S->top=0; /将s2清空While (!empty(s1) /将s1的所有元素退栈后压入s2,此时栈s1为空 Push(s2,pop(s1));Pop(s2,x); /弹出栈s2的栈顶元素(对首元素)并赋给xWhile (!empty(s2) /将剩于元素重新压入栈s1恢复为原s1中的顺序 Push(s1,pop(s2));}Int Queue_empty(s1)……………………………………………(1分) Stack s1;{if empty(s1)Return(1);ElseReturn(0);}。
数据结构B期末考试-B卷和参考答案.docx
一、单项选择题(每小题2分,共30分)1.下列关于栈的叙述中,正确的是()oA.栈底元素一定是最后入栈的元素B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素D.以上三种说法都不对2.在数据结构中,与所使用的计算机硬件无关的是数据的()结构。
A.逻辑B.存储C.逻辑和存储D.物理3.以下说法正确的是()oA.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构4.六个元素按照6, 5, 4, 3, 2, 1的顺序入栈,下列哪一个是合法的出栈序列?()A.546132B. 453126C. 346512D. 2341565.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为()A.8B. 9C. 10D. 116.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是()A, (100,80,90,60,120,110,130) B. (100,120,110,130,80, 60,90)C, (100,60,80,90,120,110,130)D, (100,80, 60,90,120,130,110)7.下列陈述中正确的是()A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分8.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()A. eB. 2eC. n2—eD. n2—2e9.栈和队列都是()A.限制存取位置的线性结构B.顺序存储的线性结构C.链式存储的线性结构D.限制存取位置的非线性结构10.在具有n个叶子结点的严格二叉树(即结点的度要么是0要么是2)中,结点总数为()A. 2n+lB. 2nC. 2n・lD. 2n-211.在循环双链表的P所指的结点之前插入S所指结点的操作是()oA.p->prior = s; s->next = p; p->prior->next = s; s->prior = p->priorB.p->prior = s; p->prior->next = s; s->next = p; s->prior = p->priorC.s->next = p; s->prior = p->prior; p->prior = s; p->prior->next = sD.s->next = p; s->prior = p->prior; p->prior->next = s; p->prior = s12,单链表中,增加一个头结点的目的是为了()oA.使单链表至少有一个结点B.标识表结点中首结点的位置C.方便算法的实现D.说明单链表是线性表的链式存储13,对一个满二叉树,m个叶子,n个结点,深度为h,则()。
最新数据结构()试卷B答案
中南财经政法大学2005 –2006 学年第2 学期期末考试试卷答案课程名称:《数据结构》(B)卷课程代号: 09091051考试形式:闭卷、笔试使用对象:电子政务专业一、单选题:(共25题,每题1分,共25分)二、多选题:(共5题,每题2分,共10分)三、填空题:(共6题,每空1分,共10分)1.线性结构和非线性结构。
2.O(n)3. (m+1)%n4.n5.索引表6.插入排序、交换排序、选择排序、归并排序、基数据排序。
四、判断题:(共5题,每题2分,共10分)五、简答题:(共5题,每题5分,共25分)1.2.试比较顺序存储结构和链式存储结构的优劣性答:(1)由于链式存储结构可以用任意的存储空间来存储线性表中的各数据元素,且其存储空间可以是连续的,也可以不连续;此外,这种存储结构对元素进行插入和删除操作时都无需移动元素,而仅仅修改指针即可,所以很适用于容量变化的情况。
(2分)(2)由于顺序存储结构一旦确定了起始位置,数据结构中的任何一个元素都可以通过函数进行随机存取,即存取速度较高:并且,由于数据的总数基本稳定,在很少进行插入和删除的结构中应选用顺序存储结构。
(3分)3.4.试证明有n0个叶子结点的哈夫曼树共有2n0-1个结点。
证明:(1)在哈夫曼树中,只有度为0和度为2 的结点。
所以,n=n0+n2 (3分) (2)以由性质知,n0=n2+1, 所以,n=n0+n0-1=2n0-1。
(2分) 5. 给出下面二叉树的中序线索树。
6. 给出图的所有顶点间的最短路径(给出步骤,从第二步每步1分)。
结果:5.六、算法填空:(共2题,每空2 分,共14分)。
数据结构B复习题
华北科技学院200 /20 学年第 学期 数据结构B 考试试卷考试科目:数据结构B 选用试卷A 适用专业:一、选择题(每题2 分,共 10 题,总计 20 分)1、算法的时间复杂度取决于( ) A .问题的规模 B. 待处理数据的初态 C. A 和B2、在下面的程序段中,对x 的赋值语句的频度为( )for (i=1; i<=n; i++) for (j=1; j<=n; j++) x=x+1;A . O(2n)B .O(n)C .O(n 2)D .O(log 2n)3、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A .顺序表B .双链表C .带头结点的双循环链表D .单循环链表 4、对于顺序存储的线性表,访问结点和增加结点的时间复杂度为( )。
A .O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)5、假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=( )。
A. 808B. 818C. 1010D. 10206、设森林F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F 对应的二叉树根结点的右子树上的结点个数是( )。
A .M1B .M1+M2C .M3D .M2+M3 7、设给定权值总数有n 个,其哈夫曼树的结点总数为( )A .不确定B .2nC .2n+1D .2n-18、有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列( ) A. 5 4 3 6 1 2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 69、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数( )A .9B .11C .15D .不确定 10、适用于折半查找的表的存储方式及元素排列要求为( ) A .链接方式存储,元素无序 B .链接方式存储,元素有序 C .顺序方式存储,元素无序 D .顺序方式存储,元素有序二、填空题(每空2分,共10空,总计20分)1、 ___________是限定仅在表尾进行插入或删除操作的线性表。
《数据结构与算法》试卷B答案及评分标准.doc
二1A三判断题(10分)(评分标准:2 V 3X 4 V 5X 6X 7 V选择题(202A 3A 4C 5B填空题(20分)(评分标准:6C 7C 8C(评分标准:每小题1分)8 V 9X 10X每小题2分)9C 10B每空1分)《数据结构与算法》试卷B答案及评分标准1.线性,非线性2.』3・链接(或链式)4.表屮一半,表长度和该元素衣表屮的位置5. nd 6.移动栈顶指针,存入元素7. 5 &遍历左了树,遍历右了树,访问根结点9. 0, n(n・l)/2 l(k 11.关键字相同的记录12. 3_ 13.插入,选择四、简答题(20分)(评分标准:每小题4分)1 •答:①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存屮可用存储单元的地址必须是连续的。
优点:存储密度大( = 1?),存储空间利用率高。
缺点:插入或删除元素时不方便。
②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针优点:插入或删除元素时很方便,使用灵活。
缺点:存储密度小(V1),存储空间利用率低。
顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。
若线性表的长度变化不大,且其主要操作是杳找,则采用顺序表;若线性表的长度变化较大,且-其主要操作是插入、删除操作, 则采用链表。
2•答:首元结点是指链表中存储线性表屮第一个数据元素迈的结点。
为了操作方便,通常在链表的首元结点Z 前附设一个结点,称为头结点,该结点的数据域屮不存储线性表的数据元素,其作用是为了对链表进行操作时,可以对空表、非空表的情况以及对首元结点进行统一处理。
头指针是指向链表屮第一个结点(或为头结点或为首元结点)的指针。
若链表屮附设头结点,则不管线性表是否为空表,头指针均不为空。
否则表示空表的链表的头指针为空。
这三个概念对单链表、双向链表和循环链表均适用。
是否设置头结点, 是不同的存储结构表示同一-逻辑结构的问题。
《数据结构》期末考试试卷(B卷)
广州轻工职业学校(大源校区)试卷用纸 第 1 页,共 1 页
专 班级 姓名 学号
注意:广州轻工职业学校(大源校区)
2015-2016学年第二学期《数据结构》期末考试试卷(B 卷)
注 意 事 项
1、请首先按要求在试卷的标封处填写您的专业、姓名、学号和所在的班级名称;
2、请仔细阅读各种题目的回答要求,在规定的位置填写您的答案;
3、不要在试卷上乱写乱画,不要在标封区填写无关内容。
使用对象:15计算机设计班 考试时间:45分钟 考试方式:考查
一、名词解释题(每小题5分,共35分):
1. 顺序映像
2. 链式映像
3. 数据对象
4. 数据结构
5. 数据类型
6. 抽象数据类型
7. 算法
二、简答题(每小题10分,共30分):
1. 数据元素与数据项有什么关系?
2. ADT 的特性有哪些?
3. 算法的特性有哪些?
三、论述题(共15分):
在设计算法时,什么样的算法才是好的算法?
四、项目设计题(共20分):
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N 块木头,每块木头长度为整数L 个长度单位。
于是他购买了一条很长的、能锯成N 块的木头,即该木头的长度是L 的总和。
但是农夫自己没有锯子,请人锯木头的酬金跟这段木头的长度成正比。
为简单起见,不妨设酬金等于所锯木头的长度。
例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头将木头锯成12和8,花费20;第二次锯木头将长度为12的木头锯成
7和5花费12,总花费32.如果第一次将木头锯成15和5,则第二次锯木头花费15,总花费35(大于32).
请设计农夫将木头锯成N 块的最少花费。
数据结构试卷(计算机-B)
12345学号_________________________ 姓名_________________________ 专业班级__________________________678武汉**大学教务处试题标准答案及评分标准用纸课程名称:数据结构(B 卷)一、选择题(20分,每小题2分)其中,多选题答对一半可以得1分.二、问答题(20分,每小题5分)(11)所谓算法是解决给定问题的一种方法(策略),即为解决某一特定问题而由若干条指令组成的有穷序列。
(2分)一个算法必须满足以下五个特性:有穷性、确定性、可行性、有n(n>=0)个初始数据的输入、有一个或多个与有效信息的输出。
(3分)(12)栈的特点是后进先出。
(2分)若入队栈序列是123,则所有可能的出栈序列是123,132,213,231,321。
(3分)(13)二分查找的先决条件是表有序且顺序存储。
(2分)查找方法:(1)取中;(2)比较。
(3分)(14)将一组任意排列的数据重新排列成从小到大的有序序列,该过程称之为排序。
(2分)常用的排序方法有:直接插入排序、SHELL排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序等(写出3个即可,每种排序方法得1分)三、图表计算题(40分,每小题8分)(15)若线性表有10000个数据元素,每个结点的值需占用2个元素,该线性表需要的存储空间:10000*2=20000 若第一个结点的地址为1000, 则第110个结点的起始地址=1000+109*2=1218删除线性表的第 30 个结点,有10000-29=9971个结点向前移动。
在线性表第i处插入1 个结点, 有n-(i-1)个元素向后移动。
(各2分)(16)9(17)将图2转换为二叉树如下:(4分)先序遍历序列:abhijcfdeg(2分)后序遍历序列:ijhbfcgeda(2分)(18)(3分) 用kruskal方法构造最小生成树的步骤如下:(5分)10(19)四、算法阅读分析及设计题(20分,每小题10分)(20) i<n 或i<=n-1i+1max=jt= r[i] ; r[i]=r[max]; r[max]=t; 或 r[0]= r[i] ; r[i]=r[max]; r[max]=r[0];该算法适于:n较小时或勤在n个待排序数据中取前k(k<<n)个最大值时.(各2分)(21)void inorder(struct btnode *bt){if ( bt!=NULL ){ inorder(bt->lchild) ;visite(bt); 或 printf(“%d”,bt->data); ;inorder(bt->rchild) ;}}该算法的时间复杂度T(n)=O( n ) (2分)(各2分)11。
西北民族大学数计院数据结构B期末考试题
得 分 评卷人 三、操作题(每小题 5 分,共 20 分) 1.已知树T的前序遍历序列为: ABDEHCFG,中序遍历序列为:DBHEAFGC 。请画出树T,并写出前序序列。 [能力层次:综合运用];[难易度: D ]
2.对于下边有向图 (1)画出其邻接表 (2)给出二种不同的拓扑序列 [能力层次:简单运用];[难易度: D
(1) (2) 二种拓扑序列为: 1:A B C E D 2: A C B E D 3.(1)平方探测再散列解决冲突时所构造的散列表如下: 0 1 2 3 4 5 6 7 8 9 33 ① 11 ② 3 ③ 36 ① 81 ① 16 ① 7 ③ 18 ① 40 ② 8 ②
10
(2)平均查找长度ASL=(1×5+2×3+3×2)/10=1.7 4. (1)邻接矩阵: (2)Prim最小生成树 四、算法阅读(每小题5分,共10分) 1. i<n R[j+1].key <R[j].key R[j]=R[0] exchange=1 return 2. p p->key==e p=p->rchild BSTNode * >lchild=p 五.算法设计题(本大题共10分) 1. 算法如下: void insert(ListNode *L,DataType x) { ListNode *p=L, *s; s=(ListNode *)malloc(sizeof(ListNode)); s->data=x; while (p->next!=NULL && p->next->data<x) p=p->next; s->next=p->next; p->next=s;
3.数据结构按逻辑结构可分为两大类,它们是线性结构和 _________________。 [能力层次:简单运用 ];[难易度: C ] 4.栈是限定在_____________进行插入和删除操作的线性表。 [能力层次: 理解 ];[难易度: C ] 5.串是一种特殊的线性表,它的每一个结点仅由__________字符组 成。 [能力层次:简单运用 ];[难易度: C ] 6.在n个结点的线索二叉链表中,有( )个线索指 针。 [能力层次: 理解 ];[难易度: C ] 7.由一棵二叉树的后序序列和_____________序列可唯一确定这棵二叉 树。 [能力层次:理解 ];[难易度: C ] 8.对关键字序列(50,80,63,44,48,91)进行一趟快速排序之后得到的结 果为_____________。 [能力层次:简单运用 ];[难易度: C ] 9.由10000个结点构成的二叉排序树,在等概率查找的假设下,查找成 功时的平均查找长度的最大值可能达到_____________。 [能力层次:简单运用];[难易度: C ] 10.带有一个头结点的单链表head为空的条件是_____________。 [能力层次: 理解 ];[难易度:B ] 11.在一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动 _____________个元素。 [能力层次:简单运用]];[难易度: B ] 12.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若 按行序为主存储序,则A[i][j]对应的S中的存储位置是 _____________。 [能力层次:简单运用] ];[难易度:C ] 13.深度为k的完全二叉树最多有_____________个结点。 [能力层次:理解];[难易度: C ] 14. 哈希函数一般是________对一的函数。 [能力层次:理解];[难易度: C ]
数据结构B模拟试卷及答案-推荐下载
A.3 B.5 C.8 D.9 10.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元 素序列的变化情况如下: 25,84,21,47,15,27,68,35,20 15,84,21,47,25,27,68,35,20 15,20,21,47,25,27,68,35,84 15,20,21,25,47,27,68,35,84 . . 15,20,21,25,27,35,47,68,84 则采用的排序方法是( )。 A.冒泡排序 B.快速排序 C.归并排序 D.选择排序 二、求解题(共计 59 分) 1.已知二叉树的扩展前序序列:FKHφφBEφφφGAφφDφCφφ.请画出该二叉树 并写出该树的中序和后序序列。(12 分)
5.循环队列用数组 A[0,m-1]存放其元素值,已知其头尾指针分别是 front 和 rear,则当前队列中的元素个数是()。 A.(rear-front+m)%m B.read-front+1 C.read-front-1 D.read-front
6.设二维数组 a[0…m-1][0…n-1]按行优先顺序存储在首地址为 loc(a00)的存 储区域中,每个元素占 d 个单元,则 aij 的地址为________。 A. loc(a00) +( i×n+ j) ×d B. loc(a00) +(j×m+i) ×d C. loc(a00) +((j-1)×n+i-1) ×d D. loc(a00) +((j-1)×m+i-1) G=<V,E>,其中 V={a,b,c,d,e},E={(a,b),(a,e),(b,e),(b,c),(c,e),(e,d)}.请 画出图 G 的邻接矩阵,邻接表。从结点 a 出发,分别写出按深度优先搜索法和广 度优先搜索法进行遍历的结点序列。(12 分)
数据结构试卷-20201012-B卷参考答案
数据结构B卷参考答案与评分标准Ⅰ. 基本概念部分(共70分)1 (8分)C1 C2 C4 C9 C10 C11 C6 C12 C3 C5 C7 C8 或C1 C9 C2 C4 C10 C11 C12 C6 C3 C5 C7 C83个一组,每对一组得2分,一组中对第一个得1分,从错的地方开始不得分2 (8分)3 (6分)4 (6分)5 (按顺序序条语句2分)ltmp->next = fence->next;fence->next = ltmp;ltmp->prev = fence;ltmp->next->prev = ltmp;完全二叉树得3分,每下滤1步得1分7 (6分)从字面上理解,再次删除值为20的节点把22和24往上提一步也算对。
8 (1个1分,全对6分)1 2 5 3 6 9 7 4 8每三个一组得2分9 (6分)10 (1)e3,e1,e4,e2 不能。
e3先出栈,说明e1,e2都还在栈里,且e2处在e1的上面,若要出栈,则一定是e2先于e1出栈。
(2)e2,e4,e3,e1 可以。
e2 先出栈,此时只有e1在栈内。
把e3,e4进栈,再依次出栈即可得到。
(3)e3,e4,,e1,e2 不能。
e3先出栈,说明e1,e2都还在栈里,且e2处在e1的上面,若要出栈,则一定是e2先于e1出栈。
每个2分。
结论1分。
说明1分。
共6分11 (6分)Ⅱ. 综合应用部分(共30分)1void sort(){Link<Elem> *t,*p; //声明一个临时指针Link<Elem> *l = head; //声明一个临时指针并把表头赋给它head = NULL; //把表头清空while(l != NULL){ //如果链表不空t = l; //把第一个节点取出来l = l->next; //指针后移//插到合适的位置t->next = NULL;if(head == NULL){head = t;}else{p = head;if(t->value() <= p->value()){ //插到表头t->next = head;head = t;}else{while( p->next != NULL && p->next->value() > t->value()) p = p->next;if(p->next == NULL) p->next = t; //如果到了链表尾,则插入else{t->next = p->next->next;p->next = t;}}}}}2bool isPair(char *s){Stack<char> *stack;char cs;int i;stack = new AStack<char>();for(i = 0; i < strlen(s); i++){if(s[i] == '{') stack->push(s[i]);else if(s[i] == '}'){if(!stack->pop(cs)) return false;}}return (!stack->pop(cs));}3bool isSame(GTNode<Elem>* r1,GTNode<Elem>* r2){bool br = true;GTNode<Elem> * t1,*t2;if(r1 == NULL && r2 == NULL) return true;else if(r1 != NULL && r2 !== NULL){//根节点都不为空,判断值及相应的子树。
数据结构B答案
一、单项选择题(本大题共15小题,每小题2分,共30分) 1-5 BAACB 6-10 ADACA 11-15 ACCBB二、填空题(本大题共10个空,每空1分,共10分)16. e=d 17. O(n 2) 18. 17 71 19. 4 , 10 20. N-1 21.线性结构,树型结构,图型结构三、判断题(本大题共10小题,每个1分,共10分)22.× 23.√ 24.× 25. √ 26.√ 27. × 28.× 29.× 30.√ 31.×四、应用题(本大题共4小题,每小题10分,共40分)。
32.可能的序列:a b c a c b b a c b c a c b a .............(5分) 对应的操作序列依次为:(1)push(a), pop(a), push(b), pop(b), push(c), pop(c) (2)push(a), pop(a), push(b), push(c), pop(c), pop(b) (3)push(a), push(b), pop(b) , pop(a), push(c), pop(c) (4)push(a), push(b), pop(b), push(c), pop(c) , pop(a) (5)push(a), push(b), push(c), pop(c), pop(b) , pop(a).............(每个序列1分)33. (4) .............(6分)0 2 3 1 434.....................(画出此树可得7分)。
(2) a:0101, b:10, c:01000, d:11, e:011, f:000, g:01001,h:001 ................... (3分)35. 根据题目给定的散列函数H(K)=K%13,其值域为0~12,可设计用于指向单链表的散列表表头数组HT[0…12]。
数据结构B试题及答案
一、单项选择题(2分×10=20分)1.若某线性表中最常用的操作是提取第i个元素及找第i个元素的前驱元素,则采用( D )存储方式最省时间。
A.单链表B.双链表C.单向循环链表D.顺序表2.将含有100个结点的完全二叉树从根开始自上向下,每层从左到右依次编号,且设根结点的编号为1,则编号69的结点的双亲的编号为( A )。
A. 34B. 35C. 33D. 无法确定3. 单循环链表的主要优点是(D )。
A. 不再需要头指针了B. 已知某结点的位置后,很容易找到其前驱C. 在进行插入、删除运算时,能更好地保证链表不断开D. 从表中任一结点出发都能扫描到整个链表4. 在长为n的顺序表中,向第i个元素(1≤i≤n+1)前插入一个元素需要向后移动( B )个元素。
A. n-iB. n-i+1C. n-i-1D. i5. 一个栈的入栈顺序是1、2、3、4、5,则此栈不可能的输出顺序为( C )。
A. 5、4、3、2、1B. 4、5、3、2、1C. 4、3、5、1、2D. 1、2、3、4、56. 串是一种特殊的线性表,其特殊性表现在( B )。
A. 可以顺序存储B.数据元素是一个字符C可以链式存储 D.数据元素是多个字符7. 一棵5层满二叉树中,结点总数为(C )个。
A. 33B.32C.31D.308. 下列4棵二叉树,( B )是平衡树。
A. B. C. D.9. n个顶点的无向图中最多有(A )条边。
A. n(n-1)/2B. n(n-1)C. n(n+1)D. n(n+1)/210. 6个顶点的无向图中,至少有(A )条边才能保证是一个连通图。
A. 5B. 6C. 7D. 8二、判断题(1分×10=10分)(F )1. 线性结构的基本特征是:每个结点有且仅有一个直接前驱和一个直接后继。
(F ) 2. 二叉树是树的特殊情形。
(T )3. 存在这样的二叉树,其先序遍历与中序遍历得到的访问序列相同。
南邮通达数据结构B期末试卷及答案
《 数据结构B 》期末试卷(A )本试卷共4页;考试时间110分钟;专业班级 学号姓名一、填空题(20分,共10题)1. 数据结构主要研究数据的______结构,数据的存储结构以及在数据上执行的运算。
2. 设顺序表长度为100,若下标从0开始计,则删除元素a 10需要移动______个元素。
3. 一棵二叉树中,若叶结点的个数为2011,则度为2的结点个数为______。
4. 有向图进行拓扑排序时,没有输出图中所有顶点,说明图中存在______。
5. 线性表采用二分搜索必须满足两个条件:线性表关键字必须是______;存储结构必须采用顺序存储结构。
6. 二叉搜索树的______序遍历序列是一个按关键字递增排列的有序序列.7. 设有一组记录的关键字为{19, 14, 1, 69, 20, 27, 55, 79},散列函数为h(key )=key %11,散列函数值为3的有______个.8. 快速排序算法平均情况下的渐近时间复杂度为O (______). 9. 采用二次探查法解决冲突可能产生_______聚集。
10. 图常见的两种存储结构有邻接矩阵和_______.二、选择题(20分,共10题)1. 一个算法必须在执行有穷步之后结束。
这是算法的_______.A 。
有穷性B. 正确性C 。
确定性D 。
可行性2. 在指针p 所指示的结点之后插入新结点s 的操作是_______。
A. s —〉link=p ;p —〉link=s ;B.s->link=p-〉link ;p —〉link=s ; C 。
s —>link=p —〉link;p=s;D 。
p-〉link=s ;s->link=p ; 3. 栈和队列的共同点是_______。
A 。
都是先进后出B 。
都是先进先出C 。
只允许在端点处插入和删除元素D 。
没有共同点 4. 后缀表达式:5 3 2 * 3 + 3 / +的值为_______。
2012 10级算法与数据结构 B卷-参考答案1
2011—2012学年第二学期闽江学院考试试卷算法与数据结构(B 卷) 评分标准一、 选择题 (共30分,每题2分) 30%二、 填空题(每空 2分) 14% 1、 s->next=p->next ; p->next=s 2、图形结构 3、1280 4、栈 5、K-1 6、07、p->lchild==NULL && p->rchild==NULL三、判断题(每题1分) 10%四、应用题(7小题) 36% 1、(a)(每个遍历序列1分,共四分)先序遍历序列:A B D E G C F H 中序遍历序列:D B G E A F H C 后续遍历序列:D G E B H F C A 层次遍历序列:A B C D E F G H(b) (每个遍历序列1分)(字母不在正确的位置上扣0.25分,共4分)2、(每层次上结点位置正确得1分,错不得分)---总4分3、哈夫曼树(每个数据不在正确的位置上扣0.5分,扣完4分为止)带权路径长度:4*(4+5+6+7)+3*(10+12+15+18)+2*23=299 (1分)4、得分标准:画出最后一张图,而且各条连接边位置正确得5分,否则,边不正确一条扣1分,扣完5分为止。
5、(1)线性探查法--得分标准:key 值不在正确的位置上,每错一个扣1分,扣完为止。
6、直接插入排序 (以下十个序列每错一个,扣0.5分,共5分) 初始:(25),10,20,31,5,44,16,61,100,3 1:(10,25),20,31,5,44,16,61,100,3 2:(10,20,25),31,5,44,16,61,100,3 3:(10,20,25,31),5,44,16,61,100,3 4:(5,10,20,25,31),44,16,61,100,3 5:(5,10,20,25,31,44),16,61,100,3 6:(5,10,16,20,25,31,44),61,100,3 7:(5,10,16,20,25,31,44,61),100,38:(5,10,16,20,25,31,44,61,100),3 9:(3,5,10,16,20,25,31,44,61,100) 7、求所有拓扑序列(4分) 每序列正确得2分序列:1,2,3,5,4,6 2,1,3,5,4,6五、编程题(两小题) 10 % 1、删除单链表中重复节点void deletenode(linklist L) {linklist p;p=L->next; -----------------------------1分 while(p){q=p->next; -----------------------------1分 if(q!=null&& q->data==p->data) -----------------------------1分{p->next=q->next; -----------------------------1分 free(q);} elsep=p->next ; -----------------------------1分}2、在图的邻接矩阵上实现深度优先遍历 void DFS(mgraph G ,int v, int visited[]) { int i,visited[v]=1 ;-----------------------------1分printf(“%d ”,v );-----------------------------1分 for(i=1 ;i<G .n ;i++) -----------------------------1分 if (G.adj[v][i]==1&& !visited[i])-----------------------------1分DFS(G ,i,visited) ; -----------------------------1分}。
数据结构B答案
上海电机学院继续教育学院2017 学年上半年期末考试试卷B(数据结构) 课程试卷班级:成1675 学号:姓名:(本卷考试时间90分钟)题号一二三四五六总得分题分得分数据结构B卷参考答案一、选择题1.B2.B3.A4.A5.A6.B7.D8.C9.B 10.D二、填空题1. 顺序存储结构、链式存储结构2. 9,5013. 54. 出度,入度5. 06. e=d7. 中序8. 79. O(1)10. i/2,2i+111. (5,16,71,23,72,94,73)12. (1,4,3,2)13. j+1,hashtable[j].key==k14. return(t),t=t->rchild三.程序填空1.答:①i=1②a[i]>b2.答:③(n%10)*(n%10_)④n/10⑤n四.试编以下完整程序:1.有一函数x (x<1)y= 2x+10 (1≤x<10)3x+9 ( x≥10)写一程序,输入x,输出y值。
1.#include<iostream.h>void main(){ float x,y;cin>>x;if(x<1) y=x;else if(x<10) y=2*x+10;else y=3*x+9;cout<<"x= "<<x<<" y= "<<y<<endl;}2.输入一行字符到数组C[80]中,分别统计其中大写和小写英文字母的个数。
以上功能可反复直至选择退出。
#include <iostream.h>#include <stdio.h>#include <string.h>void main(){int k,m=0,b,p=0;char c[80],n='y';do{cout<<"请输入字符"<<endl;gets(c);k=strlen(c); //计算字符数cout<<"一共有"<<k<<"个字符"<<endl;for(b=0;b<k;b++)if(c[b]>='A'&&c[b]<='Z')m++; //计算大写英文个数else if(c[b]>='a'&&c[b]<='z')p++; //计算小写英文个数cout<<"继续吗?(y/n)";cin>>n;}while(n=='y');cout<<"有"<<p<<"小写英文字符"<<endl;cout<<"有"<<m<<"大写英文字符"<<endl; }。
数据结构试卷(B)jh
数据结构考试试卷(B)班级:_________学号__________姓名___________(注意:试卷满分100,时间100分钟,请考生将答案做于试卷答题纸上,违者以零分处理)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.算法指的是()A.计算机程序 B.解决问题的计算方法C.排序算法 D.解决问题的有限运算序列2.线性表采用链式存储时,结点的存储地址()A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续3. 任何一个无向连通图的最小生成树()。
A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在4 .对于关键字值序列(101,12,11,18,61,15,7,18,25,100),用筛选法建堆,必须从关键字值为()的结点开始。
A.100 B.101 C.15 D.615.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A.front=front+1 B.front=(front+1)%(m-1)C.front=(front-1)%m D.front=(front+1)%m6.如下陈述中正确的是()A.串是一种特殊的线性表 B.串的长度必须大于零C.串中元素只能是字母 D.空串就是空白串7.一个非空广义表的表头()A.不可能是子表 B.只能是子表C.只能是原子 D.可以是子表或原子8. 下列说法正确的是:()A.哈希表是解决排序的方法B.图的结点关系是任意的,在拓扑排序中,弧头结点可能会出现在弧尾结点之前C.图的广度优先搜索算法中采用了递归D.树是图的一种特殊形式9.n个顶点的连通图至少有______条边。
(3.0分)A.n-1B.nC.n+1D.010.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序 B.希尔排序 C.快速排序 D.归并排序11. 高度为h的二叉树的结点最多是多少()A. 2h+1B. 2h-1C. 2h+1-1D. 2h12.对于下面二叉树,按后序遍历所得的结点序列为___________。
《 数据结构B卷 》期末考试试卷附答案
《数据结构B卷》期末考试试卷附答案一、名词解释(每题2分,共10分)1. 数据类型2. 线性表3. 队列4. 串5. 图二、判断正误(正确打√,错误划×,每题1分,共10分)1.算法必须有输入参数。
( )2.链表能够动态分配结点空间。
( )3.栈是一种先进先出的线性表。
( )4.二维数组能够实现随机存取。
( )5.在二叉树的第i层上至多有2i-1个结点(i≥1)。
( )6.在有向图中,<v1,v2>与<v2,v1>是两条不同的边。
( )7.邻接表只能用于有向图的存储。
()8.有向图不能进行广度优先遍历( )9.平均查找长度ASL可作为衡量一个查找算法效率高低的标准。
( )10.所有的内部排序算法都是稳定的。
( )三、填空(每空2分,共10分)1.线性表、栈和队列都是( )结构。
2.栈是一种特殊的线性表,允许插入和删除运算的一端称为()。
3.队列的出队操作总是在( )进行。
4.按存储结构不同,串可分为( )。
5.深度为k 的完全二叉树至少有( )个结点。
四、选择题(单选或多选)(每题2分,共30分)1.算法原则上都是能够由机器或人完成的。
整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作。
这是算法的( )。
A. 正确性B. 有穷性C. 确定性D. 可行性2.设一棵二叉树中,度为2的结点数为9,则该二叉树的叶结点的数目为( )。
A.10 B. 11 C. 12 D. 不确定3.某二叉树结点的先根序列为E、A、C、B、D、G、F,对中根遍历的序列为A、B、C、D、E、F、G。
该二叉树结点的后根遍历的序列为( )A. [B 、D 、C 、A 、F 、G 、E]B. [B 、D 、C 、F 、A 、G 、E]C. [E 、G 、F 、A 、C 、D 、B]D. [E 、G 、A 、C 、D 、F 、B]4.关于队列的说法正确的是()A. 先进先出B. 属于非线性结构C. 只能采用顺序存储D.属于散列结构5.用单链表表示的链式队列的队尾是在链表的( )位置A. 表尾B. 表头C. 表中D. 任意6.树的非叶子结点是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意事项:
1.考生将姓名、学号等信息写在试卷相应位置;
2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3.注意字迹清楚,保持卷面整洁。
B-2 共6 页
1. 一个算法具备的5个特性分别是可行性、有穷性、______、输入和输出。
2. 在有n个元素的顺序表中的任意位置插入一个元素所需移动元素的平均次数为______。
3. 栈是一种具有______特性的线性表。
4. 无论是顺序队列还是链式队列,插入和删除运算的时间复杂度都是______。
5. 递归函数f(1)=1,f(n) = f(n-1) + n(n>1)的递归出口是______。
6. 完全二叉树中节点个数为n,则编号最大的分支节点的编号是______。
7. 对n个顶点的连通图来说,它的生成树一定有______边。
8. 采用哈希存储方法时,用于计算节点存储地址的是______。
9. 对二叉排序树进行______遍历,可以得到按关键字从小到大排列的节点顺序。
10.在排序过程中,不比较关键字大小的排序方法是______。
三、单向选择题(每小题2分,共30分)
1. 算法的时间复杂度与______有关。
A、问题规模
B、计算机硬件性能
C、编译程序质量
D、程序设计语言
2. 链表不具有的特点是______。
A、可随机访问任一元素
B、插入删除不需要移动元素
C、不必事先估计存储空间
D、所需空间与线性表长度成正比
的
注意事项:
1.考生将姓名、学号等信息写在试卷相应位置;
2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3.注意字迹清楚,保持卷面整洁。
B-4 共6 页
A、13,50
B、24,50
C、24, 53
D、24, 90
24
1353
3790
图1 一棵平衡二叉树
10. 如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是______。
A、完全图
B、连通图
C、有回路
D、一棵树
11. 采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定节点所在的块,则每块分为______个节点最佳。
A、9
B、25
C、6
D、5
12. 具有5层节点的AVL树至少有______个节点。
A、10
B、12
C、15
D、17
13. N条记录中按关键字大小找出TopK(k << N)条记录,使用下列______方法最节省时间。
A、堆排序
B、希尔排序
注意事项:
1.考生将姓名、学号等信息写在试卷相应位置;
2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;
3.注意字迹清楚,保持卷面整洁。
B-6 共6 页
3. 从空二叉排序树开始,依次读入关键字序列(7, 16, 4, 8, 20, 9, 18, 5) 构造一棵二叉排序树,画出该二叉排序树,并计算在等概率情况下,该二叉排序树查找成功时的平均查找长度ASL。
4. 以关键字序列{265,301,751,129,937,863,742,694,076,438}为例,写出使用快速排序算法的各趟排序后,关键字序列的状态。
5. 对含有n个互不相同元素的线性表,试设计程序同时找最大值和最小值元素。
五、算法设计题(每小题10分,共20分)
1. 有3个带头结点并且节点值递增的单链表h1、h2和h3,他们的节点个数分别为m、n和k,单链表的节点类型如下:
typedef struct node
{ int data ;
struct node * next ;
} LinkList ;
试设计一个算法:
void merge(LinkList * &h, LinkList * h1, LinkList * h2, LinkList * h3),将h1、h2和h3的所有节点归并成一个新的递增单链表h,要求空间复杂度为O(1),时间复杂度为O(m + n + k)。
2. 试写一递归算法,从大到小输出二叉排序树中所有其值不小于x的关键字。