数据结构测验题(A)
数据结构 试题(A)-答案
3.建立平衡二叉树过程如图2所示(图中加阴影的结点表示要调整的结点)。
图2构造平衡二叉树过程
评分标准:每次调整占1分。
4.答:不能。因为在这里,二分查找只减少了关键字间的比较次数,而记录的移动次数不变,时间的复杂度仍为O(n2)。
评分标准:答对“不能”占3分,说明理由占5分。
A.872B.860
C.868D.864
8.一个具有1025个结点的二叉树的高h为。
A.11B.10
C.11~1025D.12~1024
9.一棵二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为。
A.ACBEDB.DECAB
C.DEABCD.CEDBA
10.对图1所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列。
2.给出如下各种情况下求任意一个顶点的度的过程(只需文字描述):(8分)
(1)含n个顶点的无向图采用邻接矩阵存储;
(2)含n个顶点的无向图采用邻接表存储;
(3)含n个顶点的有向图采用邻接矩阵存储;
(4)含n个顶点的有向图采用邻接表存储。
3.将整数序列{4,5,7,2,1,3,6}中的数依次插入到一棵空的平衡二叉树中,试构造相应的平衡二叉树。(要求画出每个元素插入过程,若需调整,还需给出调整后的结果,并指出是什么类型的调整,12分)
A.输出第i(1≤i≤n)个元素值
B.交换第1个元素与第2个元素的值
C.顺序输出这n个元素的值
D.输出与给定值x相等的元素在线性表中的序号
4.设n个元素进栈序列是p1,p2,p3,…,pn,其输出序列是1,2,3,…,n,若p3=3,则p1的值。
A.可能是2B.一定是2
数据结构试卷A及答案
《数据结构》试卷A一、填空,请将答案写在横线上(每空2分,共20分)1.数据的逻辑结构是从逻辑关系上描述数据,它与数据的_____无关,是独立于计算机的。
2.在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=。
3.栈顶的位置是随着操作而变化的。
4.在有序表(12,24,36,48,60,72,84)中二分查找关键字48时所需进行的关键字比较次数为。
5.多重表文件和倒排文件都归属于文件。
6.链表适用于查找。
7.队列的插入操作在进行,删除操作在进行。
8.数据的基本存储方式为顺序存储方式、链式存储方式和、四种。
二、是非题(用“√”、“×”分别标记正确与错误的说法。
每小题1分,共10分):1.线性表的逻辑顺序与物理顺序总是一致的。
()2.线性表的顺序存储表示优于链式存储表示。
()3.线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
()4.二维数组是其数组元素为线性表的线性表。
()5.每种数据结构都应具备三种基本运算:插入、删除和搜索。
()6.二维数组可以视为数组元素为一维数组的一维数组。
()7.链接存储表示的存储空间一般在程序的运行过程中动态分配和释放,通常存储器中还有空闲存储空间,就不会产生存储溢出的问题。
()8.在用单链表表示的链式队列中,队头在链表的链尾位置。
()9.凡是递归定义的数据结构都可以用递归算法来实现它的操作。
()10.进行折半搜索的表必须是顺序存储的有序表。
()三、单项选择题,在括号内填写所选择的标号。
(每小题2分,共计30分)1.算法指的是()A.计算机程序 B.解决问题的计算方法C.排序算法 D.解决问题的有限运算序列2.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为() A.O(1) B.O(n) C.O(m) D.O(m+n)3.由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率4.如下陈述中正确的是()A.串是一种特殊的线性表 B.串的长度必须大于零C.串中元素只能是字母 D.空串就是空白串5.一个非空广义表的表头()A.不可能是子表 B.只能是子表C.只能是原子 D.可以是子表或原子6.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.77.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e8.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)9.适于对动态查找表进行高效率查找的组织结构是()A.有序表 B.分块有序表 C.三叉排序树 D.线性链表10.不定长文件是指()A.文件的长度不固定 B.记录的长度不固定C.字段的长度不固定 D.关键字项的长度不固定11.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )A. front == rearB. front != NULLC. rear != NULLD. front == NULL12. 图的广度优先搜索类似于树的()次序遍历。
数据结构期末考试试题
武汉大学计算机学院2010年-2011学年第一学期“数据结构”考试试题(A)一、单项选择题(每小题2分,共计40分)1. 下列各项中属于逻辑结构的是。
A. 哈希表B. 有序表C. 单链表D. 顺序表2. 以下算法的时间复杂度为。
void fun(int n){ int i=1; while (i<=n) i=i*2; }A. O(n)B. O(n2)C. O(nlog2n)D. O(log2n)3. 在一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动个元素。
A. nB. i-1C. n-iD. n-i+14. 判断带头结点的循环单链表L中只有一个结点的条件是。
A. L==NULLB. L->next==LC. L->next->next==LD. L->next==NULL5. 中缀表达式a*(b+c)-d的后缀表达式是。
A. abcd*+-B. abc+*d-C. abc*+d-D. -+*abcd6. 设环形队列中数组的下标是0~N-1,其头尾指针分别为f和r(f指向队列中队头元素的前一个位置,r指向队尾元素的位置),则其元素个数为。
A. r-fB. r-f-1C. (r-f)%N+1D. (r-f+N)%N7. 若用一个大小为6的数组来实现环形队列,队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置。
若当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为。
A. 1和5B. 2和4C. 4和2D. 5和18. 稀疏矩阵采用压缩存储后,通常必会失去功能。
A. 顺序存储B. 随机存取C. 输入输出D. 以上都不对9. 一棵有124个叶子结点的完全二叉树,最多有个结点。
A. 247B. 248C. 249D. 25010. n个结点的线索二叉树上含有的线索个数为。
二学期数据结构期末考试试卷(A卷)
石家庄学院《数据结构》期末考试试卷(A 卷)题目部分,(卷面共有135题,100分,各大题标有题量和总分)一、应用题(4小题,共8分)1.试列出下图全部可能的拓扑排序序列2.在实现快速排序的非递归算法时,可根据基准对象,将待排序排序码序列划分为两个子序列。
若下一趟首先对较短的子序列进行排序,试证明在此做法下,快速排序所需要的栈的深度为O(log2n)。
3.设有上三角矩阵(aij)n*n ,将其上三角中的元素按先行后列的顺序存于数组B (1:m )中,使得B[k]= aij 且k=f1(i)+f2(j)+c ,请推导出函数f1,f2和常数c ,要求f1和f2中不含常数项。
4.用三元数组表示稀疏矩阵的转置矩阵,并简要写出解题步骤。
二、判断正误(20小题,共10分)1.散列表的结点中包含数据元素自身的信息,不包含任何指针。
(F)2.负载因子(装填因子)是散列表的一个重要参数,它反映敞列表的装满程度。
( T )3.一个图的广度优先搜索树是唯一的。
( F )4.外排序过程主要分为两个阶段:生成初始归并段和对归并段进行逐趟归并的阶段。
( T ) 5.在完成外排序过程中,每个记录的I/O 次数必定相等。
( F )6.为提高在外排序过程中,对长度为N 的初始序列进行“置换—选择”排序时,可以得到的最大初始有序段的长度不超过N/2。
( F )7.在外部排序时,利用选择树方法在能容纳m 个记录的内存缓冲区中产生的初始归并段的平均长度为2m 个记录。
( T )8.堆排序是稳定的排序方法。
( F )9.循环队列通常用指针来实现队列的头尾相接。
( F ) 10.有n 个数顺序(依次)进栈,出栈序列有c n 种,即:21(2)!1(!)n n C n n =⨯+。
( T ) 11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( F )12.完全二叉树的某结点若无左孩子,则它必是叶结点。
( T ) 13.深度为K 的二叉树中结点总数≤2k-1。
数据结构试题A
《数据结构》试卷A一、选择题(20小题,每题2分)1、三个函数f,g,h分别为f(n)=100n3+n2+1000 , g(n)=25n3+5000n2, h(n)=n1.5+5000nlgn ,则下列关系不成立的是:A. f(n)=O(g(n)) B. g(n)=O(f(n))C. h(n)=O(n1.5)D. h(n)=O(nlgn)2、线性表是:A.一个有限序列,可以为空;B. 一个有限序列,不能为空;C. 一个无限序列,可以为空;D. 一个无序序列,不能为空。
3、线性表采用链式存储时,其地址:A.必须是连续的;B. 部分地址必须是连续的;C. 定是不连续的;D. 连续与否均可以。
4、对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。
插入一个元素时大约要移动表中的()个元素。
A.n/2B. n+1/2C. n-1/2D. n5、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需修改指针的操作为()。
A.p->next=(p->next)->nextB. p=p->nextC. p=(p->next)->nextD. p->next=p6、栈的特点是:A.先进先出B. 后进先出C. 进优于出D. 出优于进7、栈与队列都是:A.顺序存储的线性结构B. 链式存储的线性结构C. 限制存取点的线性结构D. 限制存取点的非线性结构8、若一个栈的输入序列是:1,2,3,...,n,输出序列的第一个元素是n,则第i个输出元素是:A.不确定B. n-iC. n-i+1D. i9、设字符串s1='ABCDEFG',s2='PQRST',则运算s=CONCAT(SUB(s1,2,LEN(s2)),SUB(s1,LEN(s2),2))后的串值为:A.‘BCDEF’B. ‘BCDEFG’C. ‘BCPQRST’D. ‘BCDEFEF’10、串的联结运算满足:A.分配律B. 交换律C. 结合律11、设有两个串p 和q ,求q 在p 中首次出现的位置的运算:A.连接B. 模式匹配C. 求子串D. 求串长12、设二维数组A5*6的每个元素占4个字节,已知Loc(a00)=1000,A的终端结点a45的起始地位是A.1126 B. 1116 C. 1000 D. 103013、如果结点A有3个兄弟,而且B是A的双亲,则B的度是:A. 3B. 4C. 5D. 114、中序遍历的顺序是:A.根结点,左子树,右子树B. 左子树,根结点,右子树C. 右子树,根结点,左子树D. 左子树,右子树,根结点15、某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号值为1,2,...n.且有如下性质:T中任意结点v,其编号等于左子树上的最小编号减一,而v的右子树的结点中,其最小编号等于v左子树上结点的最大编号加一,这时按( )编号的.A.中序遍历序列B. 层次顺序C. 后序遍历序列D. 前序遍历序列16、在下图所示的各无向图中,哪个不是连通图:17、静态查找表与动态查找表的根本区别在于( )。
《数据结构》期终考查试卷(A卷)和答案
《数据结构》期终考查试卷(A 卷)适用专业:一、单项选择题(每题2分,共40分)1、.算法的时间复杂度是指( )A .执行算法程序所需要的时间B .算法程序的长度C .算法执行过程中所需要的基本运算次数D .算法程序中的指令条数2、以下说法正确的是A .线性结构的数据元素之间存在一对多的线性关系B .图形结构和树型结构是线性结构C .时间复杂度是用算法执行过程中所需要的基本运算次数来度量D .时间复杂度总是与空间复杂度成正比3、在一个单链表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 4、下列叙述中正确的是( ) A .线性表是线性结构 B. 栈与队列是非线性结构 C .线性链表是非线性结构 D. 二叉树是线性结构 5、图的广度优先搜索类似于树的( )次序遍历。
A .先根 B .中根 C .后根 D .层次 6、下列存储形式中,( )不是树的存储形式。
A、双亲表示法B、左子女右兄弟表示法C、广义表表示法D、顺序表示法7、栈的插入和删除操作都在()进行。
A、栈顶B、栈底C、任意位置D、指定位置8、按照“后进先出”原则组织数据的数据结构是A.队列B.栈C.双向链表D.二叉树9、假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
A.front==NULL B.front!=NULL C.rear!=NULL D.front= =rear10、关于字符串的说法中,错误的是A、字符串是零个或多个字符组成的有限序列B、串中字符的个数称为串的长度C、长度为零的串称为空串D、由空格组成的字符串称为空串11、有关二叉树的下列说法正确的是A、任何一棵二叉树中至少有一个结点的度为2B、一棵二叉树的度可以小于2C、二叉树中任何一个结点的度都为2D、二叉树的度为212、对如下二叉树进行后序遍历的结果为A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA13、求图的最小生成树采用的算法是A.普里姆算法和克鲁斯卡尔算法B.迪杰斯特拉算法C.弗洛伊德算法D.深度优先算法14、设G1=(V1,E1)和G2=(V2,E2)为两个图,如果V2包含V1,E2包含E1,则称( )。
(完整word版)数据结构试卷及答案(word文档良心出品)
注意事项:1、下面关于串的叙述中,哪一个是不正确的?( )A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有( )条边。
A .n-1B .n(n-1)/2C . n(n+1)/2D .0 3、以下数据结构中,( )是非线性数据结构。
A .树B .字符串C .队列D .栈 4、下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为( )。
A .(rear-front+m)%mB .rear-front+1C .(front-rear+m)%mD .(rear-front)%m6、在单链表指针为p 的结点之后插入指针为s 的结点,正确的操作是( )。
A .p->next=s; s->next=p->next;B .s->next=p->next; p->next=s;C .p->next=s; p->next=s->next;D .p->next=s->next; p->next=s; 7、设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
A .1,2,4,3B .2,1,3,4C .1,4,3,2D .4,3,1,2, 8、广义表(a,(b,c),d,e )的表头和表尾分别为( )。
A .a 和(b,c),d,e B .(a )和(b,c),d,eC .a 和 ((b,c),d,e)D .(a) 和((b,c),d,e)9、栈和队都是( )A .顺序存储的线性结构B .链式存储的非线性结构C .限制存取点的线性结构D .限制存取点的非线性结构 10、从逻辑上可以把数据结构分为( )两大类。
数据结构试题及答案(1)A
数据结构试卷一、填空殖(每空1分共20分)1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情况。
2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作为该完全二叉树的存储结构,则共有______501_____个空指针域.3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。
4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。
5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。
6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为____e=d_____。
7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序).8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较_____7___次就可以断定数据元素X是否在查找表中。
9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为______1______。
10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。
11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为_____5 16 71 23 72 94 73______。
12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的一种拓扑序列为___1 4 2 3___。
数据结构期末考试试题(含答案)
2005年-2006学年第二学期“数据结构”考试试题(A)姓名学号(序号)_ 答案隐藏班号要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。
每张答题纸都要写上姓名和序号.一、单项选择题(每小题2分,共20分)1.数据的运算a 。
A.效率与采用何种存储结构有关B.是根据存储结构来定义的C。
有算术运算和关系运算两大类 D.必须用程序设计语言来描述答:A。
2. 链表不具备的特点是 a .A.可随机访问任一结点 B。
插入删除不需要移动元素C。
不必事先估计存储空间 D。
所需空间与其长度成正比答:参见本节要点3。
本题答案为:A。
3. 在顺序表中删除一个元素的时间复杂度为 c 。
A.O(1)B.O(log2n)C。
O(n) D.O(n2)答:C。
4.以下线性表的存储结构中具有随机存取功能的是 d 。
A。
不带头结点的单链表 B. 带头结点的单链表C. 循环双链表 D。
顺序表解 D。
5。
一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c .A.edcbaB.decbaC.dceabD.abcde答:C。
6. 循环队列qu的队空条件是 d 。
A。
(qu。
rear+1)%MaxSize==(qu.front+1)%MaxSizeB. (qu。
rear+1)%MaxSize==qu.front+1C.(qu。
rear+1)%MaxSize==qu.frontD。
qu。
rear==qu。
front答:D。
7。
两个串相等必有串长度相等且 b 。
A.串的各位置字符任意 B。
串中各位置字符均对应相等C.两个串含有相同的字符D。
两个所含字符任意答:B。
8. 用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是c 。
A。
94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90,80C.21,32,46,40,80,69,90,94 D。
数据结构期末考试试题A卷
题一二三四五总分总评分人复查人分值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 )。
数据结构试卷(A)答案
数据结构试卷(A)答案数据结构试卷(A)答案一、单选题(共10题,每题2分)1. 答案:B解析:选项A和C的时间复杂度为O(n),不符合题目要求。
选项D的时间复杂度为O(n^2),也不符合题目要求。
选项B的时间复杂度为O(1),是最优解。
2. 答案:C解析:选项A的时间复杂度为O(n),不符合题目要求。
选项B和D的时间复杂度为O(n^2),也不符合题目要求。
选项C的时间复杂度为O(logn),是最优解。
3. 答案:A解析:选项B和D的时间复杂度为O(n^2),不符合题目要求。
选项C的时间复杂度为O(logn),也不符合题目要求。
选项A的时间复杂度为O(nlogn),是最优解。
4. 答案:D解析:选项A和B的时间复杂度为O(n^2),不符合题目要求。
选项C的时间复杂度为O(nlogn),也不符合题目要求。
选项D的时间复杂度为O(n),是最优解。
解析:选项A和D的时间复杂度为O(n^2),不符合题目要求。
选项B的时间复杂度为O(nlogn),也不符合题目要求。
选项C的时间复杂度为O(n),是最优解。
6. 答案:B解析:选项A和C的时间复杂度为O(n^2),不符合题目要求。
选项D的时间复杂度为O(n),也不符合题目要求。
选项B的时间复杂度为O(1),是最优解。
7. 答案:D解析:选项A和C的时间复杂度为O(n^2),不符合题目要求。
选项B的时间复杂度为O(nlogn),也不符合题目要求。
选项D的时间复杂度为O(n),是最优解。
8. 答案:C解析:选项A和D的时间复杂度为O(n^2),不符合题目要求。
选项B的时间复杂度为O(nlogn),也不符合题目要求。
选项C的时间复杂度为O(n),是最优解。
9. 答案:A解析:选项B和D的时间复杂度为O(n^2),不符合题目要求。
选项C的时间复杂度为O(nlogn),也不符合题目要求。
选项A的时间复杂度为O(n),是最优解。
解析:选项A和B的时间复杂度为O(n^2),不符合题目要求。
数据结构A卷试题及答案
(2) n
3. 11
4. (1)qu->rear= =qu->front
(2)(qu->rear+1)%MaxSize= =qu->front
5. n2+n3+n4
6. 3
7. head(tail(head(tail(L))))
三、 解答下列问题(共 30 分)
1. 能 A
B
I
C
G
J
M
D
EH
K
L
2. A.
F (29,12,25,10,58,18,51,47)
B. (10,18,25,12,29,58,51,47) C. (18,29,25,47,12,58,10,51)
《数据结构》试卷第 8 页 共 10 页
3. 100
58
42
25
33
23
19
12
13
15
18
10
9
6
7
4
5
WPL=299
4.
0123 21 35 100 3 1211
《数据结构》试卷第 7 页 共 10 页
《数据结构》参考答案
一、 二、
选择题(从下列答案选项中选出一个正确答案,每小题 2 分,共 22 分) 1.A 2.C 3.B 4.B 5.A 6.C 7.D 8.A 9.C 10.B 11.B
填空题(每空 2 分,共 18 分)
1. O(log2n)
2. (1)n/2
)。
A. 堆排序
B. 冒泡排序
C. 直接插入排序
D. 快速排序
10. 在平衡二叉树中插入一个结点后造成了不平衡,设最小不平衡子树之根为 A,并已
数据结构期末考试试题和标准答案及评分标准
数据结构期末考试试题和标准答案及评分标准《数据结构》试题(A卷)(考试时间: 90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。
A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。
A.效率B.复杂度C.数据元素之间的关系??? ?D.数据的存储方法3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。
A.链式存储B. 索引存储C.顺序存储D.散列存储4.下述哪一条是顺序存储结构的优点?()A.存储密度大?B.插入运算方便?C.删除运算方便?D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行()。
>next=p->next->next >next=p->next=p->next;p->next=p->next->next =p->next->next6.带头结点的单链表head为空的判定条件是()。
==NULL >next==NULL >next==head !==NULL7.非空的循环单链表head的尾结点(由p所指向)满足()。
>head==NULL ==NULL >next==head ==head8.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链式存储,不必占用一片连续的存储单元。
D.线性表采用链式存储,便于插入和删除操作。
9.队列操作的原则是()。
A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。
数据结构试题A答案
陕西科技大学试题纸(A参考答案及评分标准)课程数据结构班级信息、数学05学号姓名请在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在括号内。
1.设一个栈的输入序列为1,2,3,4,则借助一个栈所得的输出序列不可能是(D)。
A.1,2,3,4 B.4,3,2,1C.1,3,4,2 D.4,1,2,32. 设有80行的二维数组A[80][60],其元素长度为4字节,按行优先顺序存储,基地址为300,则元素A[18][25]的存储地址为(D)。
A.3800 B.4376 C.3900 D.47203. 将一棵有100个节点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根节点的编号为0,则编号为49的结点的左孩子编号为(B)。
A.98 B.99 C.50 D.494. 在长度为n的顺序存储的线性表中,删除第i个元素(1≤i ≤n)时,需要从前向后依次前移(A)个元素。
A.n-i B.n-i+1 C.n-i-1 D.i5. 栈的插入和删除操作在(A)进行。
A.栈顶B.栈底C.任意位置D.指定位置6. 链表适用于(A)查找。
A.顺序B.二分法C.二分法、顺序D.随机7. 深度为6(根结点的层次为1)的二叉树至多有(D)个结点。
A.64 B.32 C.31 D.638. 用邻接表表示图进行广度优先遍历时,通常是采用(B)来实现算法的。
A.栈B.队列C.树D.图9. 设有两个串p和q,求q在p中首次出现的位置的运算称作(B)。
A.连接B.模式匹配C.求子串D.求串长10.若某线性表中最常用的操作是取第i个数据元素,则采用(D)存储方式最节省时间。
A.单链表B.双链表C.单向循环D.顺序表11.三个结点可构成(D)个不同形态的二叉树。
A.2 B.3 C.4 D.512.下列关键字序列中,(D)是堆。
A.16,72,31,23,94,53 B.94,23,31,72,16,53C.16,53,23,94,31,72 D.16,23,53,31,94,7213.把一棵树转换为二叉树后,这棵二叉树的形态是(A)。
数据结构试题1
C.1200 D.log2 3600
11.对n个元素的表作堆排序,在最坏情况下,算法的时间复杂度为____。 A.O(log2 n) B.O(nlog2 n) C.O(n2) D.O(2n ) 二、填空题(每空1分,共11分) 1.一个算法具有5个特性:__________________、__________________、 ________________、有零个或多个输入、有一个或多个输出。 2.设长度为n的线性表顺序存贮,若在它的第i-1和第i个元素之间插入一 个元素, 共需移动 _________ 个元素(1<i≤n)。 3.一个字符串中 __________________________ 称为该串的子串。 4.树中结点A的 ____________________ 称为结点A的度。 5.一棵深度为4的二叉树最多有 _______ 个结点。 6.具有10个顶点的无向图,边的总数最多为 _____________ 。
网计(专升本)《数据结构》试题(模A) 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代 号 1.数据的不可分割的基本单位是____。 A.元素 B.结点 C.数据类型 D.数据项 2.下列算法suanfa2的时间复杂度为____。 int suanfa2(int n) { int t=1; while(t<=n) t=t*2; return t; } A.O(log2n) B.O(2n) C.O(n2) D.O(n) 3.____又称为FIFO表。 A.队列 B.散列表 C.栈 D.哈希表 4.若6行8列的数组以列序为主序顺序存储,基地址为1000,每个元素占2 个 存储单元,则第5行第3列的元素(假定无第0行第0列)的地址是____。 A.1086 B.1032 C.1068 D.答案A,B,C都不对 5.广义表(a,((b,( )),c),(d,(e)))的深度是____。 A.5 B.4 C.3 D.2 6.有n(n>0)个结点的完全二叉树的深度是____。 A.log2(n) B.log2(n)+1 C.log2(n+1) D.log2(n)+1 7.与中缀表达式a+b*c-d等价的前缀表达式是____。 A.+a-*bcd B.*+-abcd C.-+a*bcd D.abcd+*8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需 依次 与表中元素____进行比较,。 A.65,15,37 B.68,30,37 C.65,15,30 D.65,15,30,37 9.对长度为10的表作选择(简单选择)排序,共需比较____次关键字。 A.45 B.90 C.55 D.110 10.对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,则队列的输出顺序是( )。
数据结构(A卷)【含答案】
数据结构(A卷)【含答案】试卷编号拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………课程名称(含档次)数据结构A课程代号课程编号专业层次(本、专)本科考试⽅式(开、闭卷)闭卷⼀、应⽤题(3⼩题,共20分)1.设有⼀个栈,元素进栈的次序为:A,B,C,D,E,⽤I表⽰进栈操作,O表⽰出栈操作,设初始状态栈为空,写出下列出栈的操作序列。
(8分)(1)C,B,A,D,E(2)A,C,B,E,D2. ⼀份电⽂中有6种字符:A,B,C,D,E,F,它们的出现频率依次为16,5,9,3,30,1,完成问题:(1)设计⼀棵哈夫曼树;(画出其树结构)(2)计算其带权路径长度WPL。
(8分)3. 已知⽆向图G的邻接表如图所⽰,分别写出从顶点1出发的深度遍历和⼴度遍历序列。
(4分)⼆、判断正误(10⼩题,共20分)1.顺序表结构适宜于进⾏顺序存取,⽽链表适宜于进⾏随机存取。
( )2.⼀个栈的输⼊序列为:A,B,C,D,可以得到输出序列:C,A,B,D。
( )3.栈和队列都是受限的线性结构。
()4. 逻辑结构与数据元素本⾝的内容和形式⽆关。
()5.线性表链式存储的特点是可以⽤⼀组任意的存储单元存储表中的数据元素。
()6. 完全⼆叉树的某结点若⽆左孩⼦,则它必是叶结点。
()7. 邻接表只能⽤于存储有向图,⽽邻接矩阵则可存储有向图和⽆向图。
()8. 图的深度优先搜索序列和⼴度优先搜索序列不是惟⼀的。
()9. 折半查找只适⽤于有序表,包括有序的顺序表和链表。
()10. 每种数据结构都具备三个基本操作:插⼊、删除和查找。
()三、单项选择题(15⼩题,共30分)1.算法分析的两个主要⽅⾯是()。
A. 空间复杂度和时间复杂度B.正确性和简单性C.可读性和⽂档性D.数据复杂性和程序复杂性2.具有线性结构的数据结构是()。
A.图B.树C.⼴义表D.栈3.下⾯程序段的时间复杂度是()。
安徽大学期末考试数据结构试卷
安徽大学《数据结构》考试试卷(A卷)一、填空题1、在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。
2、下面程序段的时间复杂度是。
for (i=0;i<n;i++)for (j=0;j<m;j++)A[i][j]=0;3、在具有n个单元的循环队列中,队满时共有个元素。
4、假定一棵二叉树的结点数为18,则它的最小深度为,最大深度为。
5、在一个单链表中p所指结点之后插入一个s所指结点时,应执行下面的操作:s—>next=____;p—>next=___;6、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为和。
7、.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。
这棵二叉树中度为2的结点有___________________个。
8、在堆排序和快速排序中,若原始记录接近正序或反序,则选用____。
9、若采用邻接表的存储结构,则图的广度优先搜索类似于二叉树的________遍历。
二、单向选择题(每小题1.5分,共15分)1、n个顶点的强连通图中至少含有( )。
A、n—l条有向边B、n条有向边C、n(n—1)/2条有向边D、n(n一1)条有向边2、在一个不带头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,执行( )。
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: 可连续可不连续4、如果想在4092个数据中只需要选择其中最小的5个,采用()方法最好。
A: 起泡排序B: 堆排序C: 锦标赛排序D: 快速排序5、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构-A卷(有答案)
试卷编号: (A)卷考生注意事项:1、本试卷共 8 页,总分 100 分,考试时间 120 分钟。
一、选择题(每题2分,共20分)1.线性表采用链式存储时,结点的存储地址( )A .必须是不连续的B .连续与否均可C .必须是连续的D .和头结点的存储地址相连续2.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( ) A. 栈B. 队列C. 树D. 图3.求单链表中当前结点的后继和前驱的时间复杂度分别是( )A .O(n)和O(1)B .O(1)和O(1)C .O(1)和O(n)D .O(n)和O(n)4.非空的单循环链表的头指针为head,尾指针为rear ,则下列条件成立的是( ) A .rear->next==head B .rear->next->next==head C .head->next==rear D .head->next->next==rear 5.队和栈的主要区别是( )A.逻辑结构不同B.存储结构不同C.所包含的运算个数不同D.限定插入和删除的位置不同 6.设栈的输入序列为1,2,3,4,则( )不可能是其出栈序列。
A .1,2,3,4B. 4,3,1,2C. 1,4,3,2,D. 2,1,3,4承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。
专业 班级 学号 学生签名:7. 二维数组A[6][8]采用列优先的存储方法,若每个元素各占6个存储单元,且第1个元素A[0][0]的地址为1000,则元素A[4][7]的地址为( )A. 1282B. 1072C. 1270D. 12768.与线性表相比,串的插入和删除操作的特点是()A. 通常以串整体作为操作对象B. 需要更多的辅助空间C. 算法的时间复杂度较高D. 涉及移动的元素更多9.若一棵二叉树有11个叶子结点,则该二叉树中度为2的结点个数是()A.10 B.11 C.12 D.不确定的10.如图所示的有向无环图可以得到的不同拓扑序列的个数为()A.1B.2C.3D.4二、填空题(每空2分,共30分)1.根据数据元素之间的关系不同,四种基本的数据结构是_________、_________、_____________和_____________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 / 6华南农业大学期末考试试卷(A 卷)2011-2012学年第 1 学期 考试科目: 数据结构 考试类型:(闭卷)考试 考试时间: 120 分钟 学号 姓名 年级专业考生须知:1. 答案必须写在“答卷”上,写在试卷上不得分;2. 考试结束时,只回收答题卡,不回收试卷;3. 必须在答题卡上正确填写班级、学号、姓名等内容,否则没有考试成绩。
一、选择题(本大题共 10 小题,每小题2分,共20分)1、以下数据结构中,哪一个是线性结构?( )A .广义表B .二叉树C .稀疏矩阵D .串2、若长度为n 的线性表采用顺序存储结构,在其第i 个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。
A .O(0)B .O(1)C .O(n)D .O(n 2) 3、输入序列为ABC ,输出序列为BCA 时,经过的栈操作为( )。
A .push, pop, push, pop, push, popB .push, push, pop, push, pop, popC .push, push, pop, pop, push, popD .push, pop, push, push, pop, pop 4、模式串t=‘abcaabbcabcaabdab’,该模式串的next 数组的值为( )。
A .0 1 1 1 2 2 1 1 1 2 3 4 5 6 7 1 2B .0 1 1 1 2 1 2 1 1 2 3 4 5 6 1 1 2C .0 1 1 1 0 0 1 3 1 0 1 1 0 0 7 0 1D .0 1 1 1 2 2 3 1 1 2 3 4 5 6 7 1 25、设S 为一个长度为n 的字符串,其中的字符各不相同,则S 中的互异的非平凡子串(非空且不同于S 本身的串)的个数为( )。
A .(n 2/2)+(n/2)-1B .(n 2/2)+(n/2)C .n 2D .2n-1 6、假设以行序为主序存储二维数组A=array[0..99,0..99],设每个数据元素占2个存储单元,基地址为10,则A[5,5]=( )。
A .808B .818C .1010D .10207、某二叉树中序序列为A,B,C,D,E,F,G ,后序序列为B,D,C,A,F,G,E ,则前序序列是:( )。
A .E,G,F,A,C,D,B B .E,A,C,B,D,G ,F C .E,A,G ,C,F,B,D D .上面的都不对8、根据使用频率为5个字符设计的哈夫曼编码不可能是()。
A.0,100,101,110,111 B.0000,0001,001,01,1C.000,001,010,011,11 D.00,01,10,110,1119、采用分块查找时,若线性表中共有1225个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()个结点最佳。
A.15 B.25 C.35 D.31310、以下序列不是堆的是()。
A.(100,85,98,77,80,60,82,40,20,10,66) B.(100,98,85,82,80,77,66,60,40,20,10) C.(10,20,40,60,66,77,80,82,85,98,100) D.(100,85,40,77,80,60,66,98,82,10,20)二、应用题(本大题共 5 小题,每小题6分,共30分)1、假设一棵二叉树的层次次序(按层次递增顺序排列,同一层次自左向右)为ABECFGDHI,中序序列为BCDAFEHIG。
请画出该二叉树。
2、举例说明顺序队的“假溢出”现象,简要叙述循环队列的数据结构,并说明判定循环队列的队空条件和队满条件。
3、已知下列字符A、B、C、D、E、F、G的权值分别为3、12、7、4、2、8,11,试填写出其对应哈夫曼树HT的存储结构的初态(见下表左半部分)和终态(见下表右半部分)。
(注意:生成的哈夫曼树权值左孩子小右孩子大,权值相等时编号小的先取)4、关键字序列为{19,14,23,1,68,20,84,27,55,11,10,79},哈希函数为H(key) = key mod 13,采用链地址法处理冲突,给定哈希表的长度为13(0-12),要求画出关键字序列在哈希表中的存储状态,并计算在等概率情况下,查找成功的平均查找长度。
5、给出一组关键字T=(12,2,16,30,8,28,4,10,20,6,18),写出用下列算法从小到大排序时第一趟结束时的序列。
(1)希尔排序(第一趟排序的增量为5);(2)快速排序(选第一个记录为枢轴(分隔))。
三、程序填空题(本大题共 5 小题,共15个空白处,每空2分,共30分,注意:每空只填一个语句)1、对不带头结点的单链表进行就地逆置。
该算法用L返回逆置后的链表的头指针。
void reverse(linklist &L){p=null;q=L;while(q!=null){(1) ; ∥暂存后继q->next=p;p=q;(2) ; ∥待逆置结点}(3) ; ∥头指针仍为L}2、Search_Bin函数,实现在一个递增有序数组ST中采用折半查找法确定元素位置的算法。
int Search_Bin(int *ST,int n,int key){//在有序表ST中折半查找其关键字等于key的数据元素。
若找到,则函数值为该元//素在表中的位置,否则为-1。
n为有序表的长度。
int low,high,mid;low = 1; ∥置区间初值high = n;while( (4) ){mid = (low + high)/2 ;if ( (5) )return mid;else if (key < ST[mid] )(6) ;elselow = mid + 1;}return -1; ∥顺序表中不存在待查元素}3、下列算法为奇偶交换排序,思路如下:第一趟对所有奇数的i,将a[i]和a[i+1]进行比较,第二趟对所有偶数的i,将a[i]和a[i+1]进行比较,每次比较时若a[i]>a[i+1],将二者交换;以后重复上述二趟过程,直至整个数组有序(从小到大)。
注意:待排序的元素存储在数组下标1…n的位置。
3 / 6void oesort (int a[n]){int flag,i,t;do{flag=0;for(i=1; i<n; i+=2)if(a[i]>a[i+1]){flag=1;t=a[i+1];a[i+1]=a[i];(7) ;}for (8)if (a[i]>a[i+1]){flag=1t=a[i+1];a[i+1]=a[i];a[i]=t;}}while (9) ;}4、图的广度优先遍历void BFSTraverse(Graph G, Status (*Visit)(int v )) {// 按广度优先非递归遍历图G。
使用辅助队列Q和访问标志数组visited,数组元素的//值设为FALSE表示对应该结点未访问,设为TRUE则为已经访问。
QElemType v,w;Queue Q;QElemType u;for (v=0; v<G.vexnum; ++v) visited[v] = (10) ;InitQueue(Q); // 置空的辅助队列Qfor (v=0; v<G.vexnum; ++v)if (!visited[v]) {visited[v] = TRUE; Visit(v);(11) ;while (!QueueEmpty(Q)) {(12) ;for (w=FirstAdjVex(G, u); w>=0; w=NextAdjVex(G, u, w))// FirstAdjVex(G, u)取结点u的第一个相邻结点,NextAdjVex(G, u, w)取u的下一个//相邻结点if ( (13) ) {visited[w] = TRUE; Visit(w);EnQueue(Q, w);}//if}//while}//if} // BFSTraverse其中队列Queue数据结构的基本操作如下:InitQueue(Queue &Q); //构造一个空队列QQueueEmpty(Queue Q); //若Q为空队列返回TRUE,否则返回FALSEQueueLength(Queue Q); //返回队列Q的元素个数EnQueue(Queue &Q, QElemType e); //插入元素e作为队列Q的队尾元素DeQueue(Queue &Q, QElemType &e); //删除队列Q的队头元素,并用e返回其值假定上述操作已经实现,直接调用即可。
5、以下程序是二叉链表树中序遍历的非递归算法,请填空使之完善。
二叉树链表的结点类型的定义如下:typedef struct node //C语言描述{char data; struct node *lchild,*rchild;}*bitree;void vst(bitree bt) //bt为根结点的指针{ bitree p; p=bt; initstack(s); //初始化栈s为空栈while(p || !empty(s)) //栈s不为空if(p) {push (s,p); //p入栈(14) ; //沿左子树向下}else {p=pop(s); //栈顶元素出栈printf(“%c”,p->data);(15) ;}}四、算法设计题(本大题共2小题,每小题10分,共20分。
请先简要说明算法思想,然后写出算法的源代码实现)1、给定(已生成)一个带表头结点的单链表,设head为头指针,结点的结构为(data,next),试写出算法:按递增次序输出单链表中各结点的数据元素,并释放结点所占的存储空间。
(要求:不允许使用数组作辅助空间)单链表定义如下:typedef struct LNode{int data;struct LNode * next;}LNode, * LinkList;统一使用如下函数名:void MiniDelete(LinkedList head)5 / 62、已知一二叉树中结点的左右孩子为lchild和rchild,p指向二叉树的某一结点。
请用C语言编一个非递归函数PostFirst (p),求p所对应子树(即以p为根的子树)的第一个后序遍历结点。
二叉树采用二叉链表表示,定义如下:typedef struct BiTNode{TElemType data;struct BiTNode *lchild, *rchild;} BiTNode, *BiTree;统一使用如下函数名:BiTree PostFirst(p)。