数据结构试卷(五)及答案
《数据结构》期末考试题及答案
2011-2012学年第一学期期末考查《数据结构》试卷(答案一律写在答题纸上,在本试卷上做答无效)一、选择(每题1分,共10分)1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D)A.O(0)B.O(1)C.O(n)D.O(n2)2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D)A.543612B.453126C.346512D.2341563.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B )A.8B.9C.10D.114.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B )A. m-nB.m-n-1C.n+1D.m+n5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B)A.9B.11C.15D.不确定6.下列哪一个方法可以判断出一个有向图是否有环。
(A)A.深度优先遍历B.拓扑排序C.求最短路径D.求关键路径7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。
A.73B.234C.235D.2368.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B)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)9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 2584 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B )A.选择排序B.起泡排序C.快速排序D.插入排序10.对线性表进行折半查找时,要求线性表必须(D)A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序二、填空(每空1分,共15分)1.数据结构中评价算法的两个重要指标是时间复杂度、空间复杂度。
数据结构模拟试卷(含答案)
数据结构设计课程代码:7399一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题2分,共40分)1、串的长度是()。
A、串中不同字母的个数B、串中不同字符的个数C、串中所含字符的个数,且大于0D、串中所含字符的个数2、若用数组S[1..n]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。
为这两个栈分配空间的最佳方案是()。
A、S1的栈底位置为0,S2的栈底位置为n+1B、S1的栈底位置为0,S2的栈底位置为n/2C、S1的栈底位置为1,S2的栈底位置为nD、S1的栈底位置为1,S2的栈底位置为n/23、队列操作的原则是()。
A、先进先出B、后进先出C、只能进行插入D、只能进行删除4、有64个结点的完全二叉树的深度为()(根的层次为1)。
A、8B、7C、6D、55、在有n个结点的二叉链表中,值为非空的链域的个数为()。
A、n-1B、2n-1C、n+1D、2n+16、带权有向图G用邻接矩阵A存储,则顶点i的人度等于A中()。
A、第i行非∞的元素之和B、第i列非∞的元素之和C、第i行非∞且非0的元素个数D、第i列非∞且非0的元素个数7、在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为()。
A、0(n)B、0(log2n)C、0(nolg2n)D、0(n2)8、若表R在排序前已按键值递增顺序排列,则()算法的比较次数最少。
A、直接插入排序B、快速排序C、归并排序D、选择排序9、下列排序算法中,()排序在某趟结束后不一定选出一个元素放到其最终的位置上。
A、选择B、冒泡C、归并D、堆10、若线性表最常用的操作是存取第i个元素及其前趋的值,则采用()存储方式节省时间。
A、单链表B、双链表C、单循环链表D、顺序表11、对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用()遍历实现编号。
数据结构试卷及其规范标准答案
《数据结构》试卷及答案1.算法分析的目的是( C )。
A.找出数据结构的合理性B.研究算法中输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性2.( B )是具有相同特性数据元素的集合,是数据的子集。
A.数据符号B.数据对象C.数据D.数据结构3.用链表表示线性表的优点是( C )。
A.便于随机存取B.花费的存储空间比顺序表少C.便于插入与删除D.数据元素的物理顺序与逻辑顺序相同4.输入序列为(A,B,C,D)不可能的输出有(D )。
A.(A,B,C,D)B. (D,C,B,A)C. (A,C,D,B) D . (C,A,B,D)5.在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是( B )。
A. front=maxSizeB. (rear+1)%maxSize=frontC. rear=maxSizeD. rear=front6.设有串t='I am a good student ',那么Substr(t,6,6)=( D )。
A. studentB. a good sC. goodD. a good 7.设有一个对称矩阵A,采用压缩存储方式,以行序为主序存储a11为第一个元素,其存储地址为1,每个元素占一个地址空间,则a85地址为( B )。
A.23B.33C.18D. 408.已知广义表LS=(A,(B,C,D),E)运用head和tail函数,取出LS中原子B的运算(C )。
A. Gethead(Gethead(LS))B. Gettail(Gethead(LS))C. Gethead(Gethead(Gettail(LS)))D. Gethead(Gettail(LS))9.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为( A ) 。
A. CDBGFEAB. CDBFGEAC. CDBAGFED. BCDAGFE10.下列存储形式中,(C ) 不是树的存储形式。
数据结构试题及答案
数据结构试卷一、填空殖(每空1分共20分)1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情况。
2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作为该完全二叉树的存储结构,则共有______501_____个空指针域。
3.设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列。
4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的________,第i列上所有元素之和等于顶点i的________。
5.设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点。
6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为_________。
7.__________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)。
8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中。
9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为____________。
10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为____________,右孩子结点的编号为___________。
11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为___________________________。
12.设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为____________________。
数据结构试题
、单项选择题,在括号内填写所选择的标号(每小题1分,共12分)L若需要利用形参直接访问实参,则应把形参变量说明为( )参数。
A.指针B.引用C.传值D.常值2.以下说法错误的是( )。
A.抽象数据类型具有封装性D.抽象数据类型具有信息隐蔽性C.使用抽象数据类型的用户可以自己定义对抽象数据类型中数据的各种操作D.抽象数据类型的一个特点是使用与实现分离3.设有一个n×n的对称矩阵A,将其上三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那么第i行的对角元素A存放于B中( )处。
A.(i+3)*i/2 D.(i+1)*i/2C(2n—i+1)*i/2 n(2n—i一1)*i/24.已知单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为( )。
A.O(1) .B.O(m)C.O(n) D.O(m+n)5.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
A.front==rear B,front! =NULLC.rear! =NULL D.front==NULL6.设有一个递归算法如下int fact(intn){//n大于等于0if(n<=0)return 1;else return n*fact(n一);}则计算fact(n)需要调用该函数的次数为( )次。
A.n B.n+1c.n+2 D.n-l7.在一棵高度为h(假定树根结点的层号为0)的完全二叉树中,所含结点个数不小于( )。
A.2h—1 B.2h十1C.2h一1 D.2h8.一棵树的广义表表示为a(b,c(e,f(g)),d),当用左子女一右兄弟链表表示时,右指针域非空的结点个数为( )。
A.1 B.2C.3 D.49.向具有n个结点的、结构均衡的二叉搜索树中插入一个元素的时间复杂度大致为( )。
A.O(1) B.O(log2n)C.O(n) D.O(nlog2n)10.具有n个顶点的有向无环图最多可包含< )条有向边。
数据结构试题
数据结构试题部分题目或答案有问题,现将已经发现的公布如下,同学在作这些模拟题的时候应着重做题方法的理解,遇到问题以教材或课件为准,不确定的地方可找同学商量或问我(1)试卷1第一套填空题第1题,试卷1第2套选择题第3题关于循环队列队头指针和队尾指针的约定与教材不一致,以教材或课件为准,实际上front指向的是队头元素,rear指向当前尚未被占用的第一个队列空间,队慢或队空的判定条件及入队/出队等操作具体可参考课件或教材(2)试卷1第一套应用题第5题,不声明邻接点顺序时默认编号最小的邻接点为第一邻接点,该图的深度优先遍历序列为*****,答案错。
此外,当给定邻接表时则邻接点顺序按照邻接表中的前后顺序确定,如试卷1第二套填空题第8题(3)试卷1第五套应用题第4题,两种方法处理冲突的方法下所求ASL值相等都为7/6(4)试卷1第五套填空题第8题答案给出的是小顶堆需满足的条件,大顶堆满足ki=k2i ki=k2i+1 (5)试卷1第一套填空题第9题模式匹配的BF算法以书中答案为准,两者区别在于,教材中存储字符串的数组的0号单元不存放有效字符,而试卷答案认为0号单元也放数组(6)试卷1第二套填空题第7题给定初始序列建堆未声明建大顶堆还是小顶堆,答案中给出的是小顶堆,大顶堆也要会建(7)试卷1第二套应用题第1题第4趟直接插入排序的结果应为(22,40,45,48,80,78);答案中给出的实际为第三趟,关键在于首元素自身有序不算一趟(8)试卷1第二套填空题第2题入栈操作以教材为准,教材中top是指向的栈顶(第一个空位置)的指针,与该套试卷中栈顶结构不一样,以教材为准(9)试卷1第三套填空题第12题答案中给出的不是拓扑序列,正确的是1423 (10)试卷1中多处遇到空指针NULL时写的是0而非NULL,实际两者皆可(11)试卷1第4套填空题第2题双向链表的删除答案错,应为p―llink-rlink=p-rlink; p-rlink-llink=p-llink;此外,注意课堂中讲的指针名和操作方法(12)第4套填空题第6题答案错,设哈夫曼树中共有99个结点,则该树中有____50_____个叶子结点;若采用二叉链表作为存储结构,则该树中有__100___个空指针域。
计算机专业基础综合(数据结构)模拟试卷5
计算机专业基础综合(数据结构)模拟试卷5(总分:102.00,做题时间:90分钟)一、单项选择题(总题数:35,分数:70.00)1.单项选择题1-40小题。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
__________________________________________________________________________________________ 2.下面是一个求最小生成树的算法,其中G是连通无向图,T是所求的生成树。
T;=G; While T中存在回路do begin在T中找一条权值最大的边e; T:=T一[e]; (T中去掉e边) End.试问该算法是哪一种求最小生成树的算法?( )A.Prim(普里姆)算法B.Kruskal(克鲁斯卡尔算法) √C.罗巴赫算法D.其他算法由算法可以看出使用的是Knlskal算法。
3.邻接表是图的一种( )。
A.顺序存储结构B.链接存储结构√C.索引存储结构D.散列存储结构图的邻接表存储结构是一种链接存储结构。
4.下面试图对图中路径进行定义,说法正确的是( )。
A.由顶点和相邻顶点序列构成的边所形成的序列√B.由不同顶点所形成的序列C.由不同边所形成的序列D.上述定义都不是由图的定义可知,B与c是错误的。
5.无向图中项点个数为n,那么边数最多为( )。
A.n一1B.n(n-1)/2 √C.n(n+1)/2D.n 2无向图中有n个顶点,如果每两个顶点之间均是相互连通的,那么此时无向图中的边数最多,为凡(n一1)/2。
6.在一个具有n(n>0)个顶点的连通无向图中,至少需要的边数是( )。
A.nB.n+1C.n-1 √D.n/2在无向图中,如果从一个顶点v i到另一个顶点v j (i≠j)有路径,则称顶点v i和v j是连通的。
如果图中任意两顶点都是连通的,则称该图是连通图。
所以具有n个顶点的连通无向图至少有n一1条边。
东南大学十套数据结构试题及答案
数据结构试卷(一)三、计算题(每题 6分,共24 分)3. 已知一个图的顶点集 V 和边集E 分别为:V={1,2,3,4,5,6,7};E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。
4. 画出向小根堆中加入数据 4, 2, 5, 8, 3时,每加入一个数据后堆的变化。
四、 阅读算法(每题 7分,共14分)1. LinkList mynote(LinkList L){//L 是不带头结点的单链表的头指针if(L&&L-> next){q=L ; L=L — >next ; p=L ;S1: while(p — >n ext) p=p — >next ; S2: p — >next=q ; q — >next=NULL ;}return L ;}请回答下列问题:(1 )说明语句S1的功能;(2) 说明语句组S2的功能;(3) 设链表表示的线性表为(a 1,a 2,…,a n ),写出算法执行后的返回值所表示的线性 表。
2. void ABC(BTNode * BT){if BT {ABC (BT->left); ABC (BT->right); cout<<BT->data<<'';}}该算法的功能是:五、 算法填空(共 8分)二叉搜索树的查找 一谗归算法:bool Fi nd(BTreeNode* BST,ElemType & item){if (BST==NULL) return false; // 查找失败 else { if (item==BST->data){ item=BST->data;// 查找成功 return_______________________ ;}else if(item<BST->data) return Find( ,item); else return Find( _____________ ,item);1. 在如下数组A 中链接存储了一个线性表, A [0].next ,试写出该线性表。
计算机专业基础综合数据结构(集合)历年真题试卷汇编5
计算机专业基础综合数据结构(集合)历年真题试卷汇编5计算机专业基础综合数据结构(集合)历年真题试卷汇编5(总分:66.00,做题时间:90分钟)⼀、单项选择题(总题数:21,分数:46.00)1.含有n个⾮叶⼦结点的m阶B⼀树⾄少包含( )个关键字。
【北京交通⼤学20041A.(m-1) * nB.nC.n * (m/2-1)D.(n⼀1) * (m/2-1)+1 √2.理论上,散列表的平均⽐较次数为( )次。
【北京邮电⼤学2005⼀、9(2分)】A.1 √B.2C.4D.n3.散列函数有⼀个共同的性质,即函数值应当以( )取其值域的每个值。
【西安电⼦科技⼤学2001计算机应⽤⼀、7(2分)】【北京邮电⼤学。
1999⼀、4(2分)】A.最⼤概率B.最⼩概率C.平均概率D.同等概率√4.将10个元素散列到100000个单元的哈希表中,则( )产⽣冲突。
【北京邮电⼤学2001⼀、4(2分)】A.⼀定会B.⼀定不会C.仍可能会√5.采⽤链地址法解决冲突的哈希表中,查找成功的平均查找长度( )。
【北京交通⼤学2005⼀、6(2分)2007】A.直接与关键字个数有关B.直接与装填因⼦有关C.直接与表的容量有关D.直接与哈希函数有关√链地址法解决冲突,是动态申请结点,容量只受内存所限。
6.下⾯关于哈希(Hash,杂凑)查找的说法正确的是( )。
【南京理⼯⼤学1998⼀、10(2分)】【烟台⼤学2007⼀、1 8(2分)】A.哈希函数构造的越复杂越好,因为这样随机性好,冲突⼩B.除留余数法是所有哈希函数中最好的C.不存在特别好与坏的哈希函数,要视情况⽽定√D.若需在哈希表中删去⼀个元素,不管⽤何种⽅法解决冲突都只要简单地将该元素删去即可7.在构造哈希表⽅⾯,下⾯的说法( )是正确的。
【华南理⼯⼤学2005⼀、1(2分)】A.再散列在处理冲突时不会产⽣“聚集”B.散列表的装载因⼦越⼤,说明空间利⽤率越好,因此应使装载因⼦尽量⼤C.散列函数选得好可减少冲突现象√D.对于任何具体关键字都不可能找到不产⽣冲突的散列函数8.在构造散列表⽅⾯,下⾯的说法( )是正确的。
数据结构试题及答案
数据结构试卷一、填空殖(每空1分共20分)1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情况。
2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作为该完全二叉树的存储结构,则共有______501_____个空指针域.3.设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列。
4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的________,第i列上所有元素之和等于顶点i的________。
5.设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点。
6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为_________。
7.__________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序)。
8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中.9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为____________。
10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为____________,右孩子结点的编号为___________。
11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为___________________________。
12.设有向图G中有向边的集合E={<1,2>,<2,3〉,〈1,4>,〈4,2〉,〈4,3〉},则该图的一种拓扑序列为____________________。
十套数据结构试题(卷)与答案解析
数据结构试卷(一) (1)数据结构试卷(二) (5)数据结构试卷(三) (9)数据结构试卷(四) (14)数据结构试卷(五) (19)数据结构试卷(六) (24)数据结构试卷(七) (28)数据结构试卷(八) (32)数据结构试卷(九) (36)数据结构试卷(十) .................................. 41 数据结构试卷(一)参考答案 (47)数据结构试卷(二)参考答案 (48)数据结构试卷(三)参考答案 (51)数据结构试卷(四)参考答案 (55)数据结构试卷(五)参考答案 (58)数据结构试卷(六)参考答案 (61)数据结构试卷(七)参考答案 (64)数据结构试卷(八)参考答案 (66)数据结构试卷(九)参考答案 (69)数据结构试卷(十)参考答案 (71)数据结构试卷(一)一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
国家二级C语言(数据结构与运算)机试模拟试卷5(题后含答案及解析)
国家二级C语言(数据结构与运算)机试模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.某二叉树的中序遍历序列为CBADE,后序遍历序列为CBADE,则前序遍历序列为A.EDABCB.CBEDAC.CBADED.EDCBA正确答案:A解析:后序遍历次序是“左右根”,中序遍历次序是“左根右”。
由定义可知:①后序遍历中最后一个就是树根结点,即E结点;②在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即CBAD是根结点E的左子树集合。
问题就会转化为:求后序遍历是CBAD,中序遍历是CBAD的子树,方法同上。
因为中序遍历中,D结点右边没有结点了,所以D结点不包含右子树,否则就会被分为2个子问题。
以下是这道题的详细推理过程:步骤1:由CBADE得出根结点为E,由中序遍历可知{ CBAD}E,右子树为空;步骤2:由CBAD得出左子树集合的根节点为D,由中序可知{CBA}D,右子树为空;步骤3:同理,二叉树更新后如下图所示。
知识模块:数据结构与运算2.下列叙述中正确的是A.在循环队列中,队头指针和队尾指针的动态变化决定队列的长度B.在循环队列中,队尾指针的动态变化决定队列的长度C.在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度D.在带链的栈中,栈顶指针的动态变化决定栈中元素的个数正确答案:A 涉及知识点:数据结构与运算3.设栈的存储空间为S(1:60),初始状态为top=61。
现经过一系列正常的入栈与退栈操作后,top=1,则栈中的元素个数为A.60B.59C.0D.1正确答案:A解析:栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位,即top-1。
当压入第一个元素时,TOP指针指向60+1-1 = 60;当压入第二个元素时,TOP指针指向60+1-2 = 59;......;以此类推,当压入第N个元素时,TOP 指针指向60+1-N = 1,则N=60。
所以选项A正确。
山东科技大学——十套数据结构试题及答案
数据结构试卷(一)1.栈和队列的共同特点是( )。
A。
只允许在端点处插入和删除元素B。
都是先进后出C。
都是先进先出D。
没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A。
仅修改头指针 B。
头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B。
栈 C. 线性表D。
二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示.A.688 B.678 C.692 D.6965.树最适合用来表示()。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( )。
A.2k—1 B。
2K+1 C.2K—1 D. 2k—17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3 B。
9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A。
O(1) B. O(n) C. O(1og2n) D。
O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.5B.6 C。
7 D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
国家二级ACCESS机试选择题(数据结构与算法)模拟试卷5
国家二级ACCESS机试选择题(数据结构与算法)模拟试卷5(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.设顺序表的长度为n。
下列算法中,最坏情况下比较次数小于n的是(分数:2.00)A.寻找最大项√B.堆排序C.快速排序D.顺序查找法解析:解析:如果顺序表是线性存储的(不包括线性的链式表),那么元素要不就是从大到小,要不就是小到大的顺序,假设第一个数就是最大值,那么需要比较1次,n一1应该是最坏情况下要比较的次数,所以选项A正确。
2.设栈的顺序存储空间为S(1:m),初始状态为top=m+1。
现经过一系列正常的入栈与退栈操作后,top=0;则栈中的元素个数为(分数:2.00)A.不可能√B.m+1C.1D.m解析:解析:栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位,即top-1。
对于这个题目,由于top初始值等于m+1,此时入栈一个元素,top值减1,即m+1-1=m,依次类推,当栈满时,top 的值等于1,不会出现top的值等于0。
所以选项A正确。
3.某二叉树的后序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出(同一层从左到右)的序列为(分数:2.00)A.FEDCBA √B.CBAFEDC.DEFCBAD.ABCDEF解析:解析:后序遍历次序:左右根;中序遍历次序:左根右。
由定义可知:①后序遍历中最后一个是树的根结点,即F结点;②在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即ABCDE是根结点F的左子树集合。
问题就会转化为:求后序遍历是ABC。
DE,中序遍历是ABCDE的子树。
方法同上,因为中序遍历中,E结点右边没有结点了,所以E结点不包含右子树,否则就会被分为2个子问题。
以下是这道题的详细推理过程:步骤1:由ABCDEF。
得出根结点为F,由中序遍历可知:{ABCDE}F,右子树为空;步骤2:由ABCDE得出左子树集合的根节点为E,由中序可知:{ABCD}E,右子树为空;步骤3:同理,二所以按层次输出(同一层从左到右)的序列为FEDCBA。
数据结构试卷试卷及答案5套
数据结构试卷试1一、解释下列术语(每小题4分,共20分)1. 头指针2. 二叉排序树的定义3. 头结点4. 数据的逻辑结构5. 排序方法的稳定性二、选择填空(每小题2分,共20分)(在每小题的4 个备选答案中,选出一个正确的答案,多选少选均不得分)1. 在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时顺向后移动( ) 个元素A.n-iB. n-i+1C. n-i-1D.i2. 某个栈的输入序列为1,2,3,4,下面的四个序列中( )不可能是它的输出序列A.1,2,3,4B.2,3,4,1C. 4,3,2,1D.3,4, 1,23. 对二叉排序进行( )遍历可以得到结点的排序序列A.前序B.中序C. 后序D.按层次4.有64个结点的完全二叉树的深度为()。
A 8B 7C 6D 55.折半查找法的时间复杂度是( )A.(n2)B.O(n)C. O(n㏒n)D. O(㏒n)6.A(1:5,1:6)的每个元素占5个单元,将其按行优先次序储存在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为()。
A 1140B 1145C 1120D 11257. 有n个叶子结点的哈夫曼树的结点总数为()。
A 不确定B 2nC 2n+1D 2n-18. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac, 则它的前遍历序列是()。
A acbedB decabC deabcD cedba9.若循环队列用数组A(0:m-1)存放其元素值,已知其头、尾指针分别是f和r,则当前队列中的元素个数是()。
A (r-f+m)mod mB r-f+1C r-f-1D r-f10. 一个二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树(树中结点个数大于1)。
A 空或只有一个结点B 高度等于其结点数C 任一结点无左孩子 D任一结点无右孩子三,判断题(每小题2分,对的打√,错的打×,共10分)1.若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。
2011年全国数据结构导论模拟试卷(五)
答案:B
15. 设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。 A. 5 B. 6 C. 7 D. 8
答案:A
二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答 案。错填、不填均无分。
1. 程序段“i=1;while(i<=n)i=i*2;”的时间复杂度T(n)=___。
答案:B
4. 用某种排序方法对序列(25,84,21,47,15,27,68,35,20)进行排序,记录序列的变
化情况如下: 258421471527683520 201521254727683584 152021253527476884 152021252735476884 则采用的排序方法是()
答案:D
13. 索引顺序文件的记录,在逻辑上按关键字的顺序排列,但物理上不一定按关键字顺序存储
。对这种文件需建立一张指示逻辑记录和物理记录之间一一对应关系的(),它一般用树结构来组 织。
A. 符号表 B. 索引表 C. 交叉访问表 D. 链接表
更多试卷请登陆九州考苑()
答案:B
14. 设图G采用邻接表存储,则拓扑排序算法的时间复杂度为() A. O(n) B. O(n+e) C. O(n2) D. O(n×e)
答案:D
8. 下面关于线性表的叙述正确的是() A. 线性表采用顺序存储,必须占用一片连续的存储单元 B. 线性表采用顺序存储,便于进行插入和删除操作
更多试卷请登陆九州考苑()
C. 线性表采用链接存储,不必占用一片连续的存储单元D.线性表采用链接存储,不便于插
入和删除操作
D. 线性表采用链接存储,不便于插入和删除操作
答案:答案见图应用题29所示。
数据结构试卷
数据结构试卷一. (共 75 题,共 150 分)1. 数据的基本单位是() 。
(2 分)A.数据元素B.记录C.数据对象D.数据项★检查答案标准答案: A2. ()是数据的不可分割的最小单位。
(2 分)A.数据对象B.数据元素C.数据类型D.数据项★检查答案标准答案: D3. 算法的空间复杂度是对算法()的度量。
(2 分)A. 时间效率B.空间效率C.可读性D.健壮性★检查答案标准答案: B4. ()是限制了数据元素的内部结构仅为一个字符的线性表。
(2 分)A.栈B. 队列C.串D.数组★检查答案标准答案: B5. 串的长度是指串中所含()的个数。
(2 分)A.不同字符B.不同字母C.相同字符D.所有字符★检查答案标准答案: D6. 采用带头结点双向链表存储的线性表,在删除一个元素时,需要修改指针()次。
(2 分)A.1B.2C.3D.4★检查答案标准答案: B7. 线性表的顺序存储结构是一种()的存储结构。
(2 分)A.顺序存取B. 随机存取C.索引存取D.Hash 存取★检查答案标准答案: B8. 数组 a[1..m] 采用顺序存储, a[1]和 a[m] 地址分别为 1024 和 1150,每个元素占 2 字节,则 m 是() 。
(2 分)A.64B.32C. 16D.8★检查答案标准答案: A9. 深度为 h 的二叉树,第 h 层最多有()个结点。
(2 分)A.hB.2h-1C.2h-1D.2h★检查答案标准答案: C10. m 个结点的二叉树,其对应的二叉链表共有()个非空链域。
(2 分)A.mB.m+1C.2mD.m- 1★检查答案标准答案: B11. 下面叙述错误的是() 。
(2 分)A.顺序表是借助物理单元相邻表示数据元素之间的逻辑关系B.对于空队列进行出队操作过程中发生下溢现象C.有向图的邻接矩阵一定是对称的D.具有相同的叶子个数和具有相同的叶子权值的赫夫曼树不是唯一的★检查答案标准答案: C12. 以下与数据的存储结构无关的术语是() 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构试卷(五)
一、选择题(30分)
1.数据的最小单位是()。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量
2.设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为()。
(A) 40,50,20,95 (B) 15,40,60,20
(C) 15,20,40,45 (D) 45,40,15,20
3.设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为()。
(A) 15,25,35,50,20,40,80,85,36,70
(B) 15,25,35,50,80,20,85,40,70,36
(C) 15,25,35,50,80,85,20,36,40,70
(D) 15,25,35,50,80,20,36,40,70,85
4.函数substr(“DATASTRUCTURE”,5,9)的返回值为()。
(A) “STRUCTURE”(B) “DATA”
(C) “ASTRUCTUR”(D) “DATASTRUCTURE”
5.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为()。
(A) O(log2n) (B) O(1) (C) O(n2) (D) O(n)
6.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为N l,……,度数为m的结点数为Nm,则N0=()。
(A) N l+N2+……+Nm (B) l+N2+2N3+3N4+……+(m-1)Nm
(C) N2+2N3+3N4+……+(m-1)Nm (D) 2N l+3N2+……+(m+1)Nm
7.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
(A) 25 (B) 10 (C) 7 (D) 1
8.设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为()。
(A) abedfc (B) acfebd (C) aebdfc (D) aedfcb
9.设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
(A) n-i (B) n-1-i (C) n+1-i (D) 不能确定
10 设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45
为基准而得到一趟快速排序的结果是()。
(A) 40,42,45,55,80,83 (B) 42,40,45,80,85,88
(C) 42,40,45,55,80,85 (D) 42,40,45,85,55,80
二、填空题(共30分)
1.设有一个顺序共享栈S[0:n-1],其中第一个栈项指针top1的初值为-1,第二个栈顶
指针top2的初值为n,则判断共享栈满的条件是____________________。
2.在图的邻接表中用顺序存储结构存储表头结点的优点是____________________。
3.设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素(包括对角线
上元素)存放在n(n+1)个连续的存储单元中,则A[i][j]与A[0][0]之间有_______个数据元素。
4.栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为
__________表;队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为_________表。
5.设一棵完全二叉树的顺序存储结构中存储数据元素为ABCDEF,则该二叉树的前序遍历
序列为___________,中序遍历序列为___________,后序遍历序列为___________。
6.设一棵完全二叉树有128个结点,则该完全二叉树的深度为________,有__________
个叶子结点。
7.设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等
于顶点i的________,第i列中所有非零元素个数之和等于顶点i的__________。
8.设一组初始记录关键字序列(k1,k2,……,k n)是堆,则对i=1,2,…,n/2而言满足
的条件为_______________________________。
9.下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。
void bubble(int r[n])
{
for(i=1;i<=n-1; i++)
{
for(exchange=0,j=0; j<_____________;j++)
if (r[j]>r[j+1]){temp=r[j+1];______________;r[j]=temp;exchange=1;} if (exchange==0) return;
}
}
10.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。
struct record{int key; int others;};
int bisearch(struct record r[ ], int k)
{
int low=0,mid,high=n-1;
while(low<=high)
{
________________________________;
if(r[mid].key==k) return(mid+1); else if(____________) high=mid-1;else low=mid+1;
}
return(0);
}
三、应用题(24分)
1.设某棵二叉树的中序遍历序列为DBEAC,前序遍历序列为ABDEC,
要求给出该二叉树的的后序遍历序列。
2.设无向图G(如右图所示),给出该图的最小生成树上边的集合并
计算最小生成树各边上的权值之和。
3.设一组初始记录关键字序列为(15,17,18,22,35,51,60),
要求计算出成功查找时的平均查找长度。
4.设散列表的长度为8,散列函数H(k)=k mod 7,初始记录关键字序列为(25,31,8,27,
13,68),要求分别计算出用线性探测法和链地址法作为解决冲突方法的平均查找长度。
四、算法设计题(16分)
1.设计判断两个二叉树是否相同的算法。
2.设计两个有序单链表的合并排序算法。
数据结构试卷(五)参考答案
一、选择题
1.A 2.B 3.A 4.A 5.D
6.B 7.B 8.B 9.C 10.C
二、填空题
1.top1+1=top2
2.可以随机访问到任一个顶点的简单链表
3.i(i+1)/2+j-1
4.FILO,FIFO
5.ABDECF,DBEAFC,DEBFCA
6.8,64
7.出度,入度
8.k i<=k2i && k i<=k2i+1
9.n-i,r[j+1]=r[j]
10.mid=(low+high)/2,r[mid].key>k
三、应用题
1.DEBCA
2.E={(1,5),(5,2),(5,3),(3,4)},W=10
3.ASL=(1*1+2*2+3*4)/7=17/7
4.ASL1=7/6,ASL2=4/3
四、算法设计题
1.设计判断两个二叉树是否相同的算法。
typedef struct node {datatype data; struct node *lchild,*rchild;} bitree;
int judgebitree(bitree *bt1,bitree *bt2)
{
if (bt1==0 && bt2==0) return(1);
else if (bt1==0 || bt2==0 ||bt1->data!=bt2->data) return(0);
else return(judgebitree(bt1->lchild,bt2->lchild)*judgebitree(bt1->rchild,bt2->rchild));
}
2.设计两个有序单链表的合并排序算法。
void mergelklist(lklist *ha,lklist *hb,lklist *&hc)
{
lklist *s=hc=0;
while(ha!=0 && hb!=0)
if(ha->data<hb->data){if(s==0) hc=s=ha; else {s->next=ha; s=ha;};ha=ha->next;} else {if(s==0) hc=s=hb; else {s->next=hb; s=hb;};hb=hb->next;}
if(ha==0) s->next=hb; else s->next=ha;
}。