数据结构模拟试题9
最新《数据结构》试题及答案(10套)
一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B)方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种(D)。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D)参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的(A)。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为(D)。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
数据结构模拟试卷及参考答案
数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
十套数据结构模拟题+答案
数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是()。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是()。
(A) 线性结构(B) 树型结构(C) 图型结构(D) 集合3.数组的逻辑结构不同于下列()的逻辑结构。
(A) 线性表(B) 栈(C) 队列(D) 树4.二叉树中第i(i≥1)层上的结点数最多有()个。
(A) 2i (B) 2i(C) 2i-1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。
(A) p->next=p->next->next (B) p=p->next(C) p=p->next->next (D) p->next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是()。
(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。
(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。
(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有()种不同的形态。
(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则()的空间复杂度最大。
(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。
数据结构-9_真题(含答案与解析)-交互
数据结构-9(总分100, 做题时间90分钟)一、单项选择题在每小题列出的四个选项中只有一个选项是符合题目要求的1.如果待排序的记录的规模很大,则在下面的排序方式中,我们最好不要选择使用( )SSS_SINGLE_SELA 快速排序B 直接插入排序C 堆排序D 归并排序分值: 2答案:B2.设数组A[0,m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行入队操作的语句是( )SSS_SINGLE_SELA sfront=(sfront+1)%mB sfront=(sfront+1)%(m+1)C srear=(srear+1)%mD srear=(srear+1)%(m+1)分值: 2答案:D3.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( ) SSS_SINGLE_SELA 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 连续不连续都可以分值: 2答案:D4.串是一种特殊的线性表,其特殊性体现在( )SSS_SINGLE_SELA 可以顺序存储B 数据元素是一个字符C 可以链接存储D 数据元素可以是多个字符分值: 2答案:B5.对广义表((a),(b))进行下面的操作head(head((a),(b)))后的结果是( )SSS_SINGLE_SELA aB (C ( )D 不确定分值: 2答案:A6.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的结点的双亲结点编号为( )SSS_SINGLE_SELA 42B 40C 21D 20分值: 2答案:D7.带头结点的单链表Head为空的判定条件是( )SSS_SINGLE_SELA Head=NULL;B Head↑.next=NULL;C Head↑.nextHead;D Head↑.next=Head↑分值: 2答案:B8.堆是一个键值序列(k1,k2,k…,k1…,k),对i=1,2…,[n/2],满足( )SSS_SINGLE_SEL Ak i ≤k2i≤k2i+1Bk i <k2i<k2i+1Ck i ≤k2i且k≤k2i+1(2i+1≤Dk i ≤k2i或ki≤k2i+l(2i+1≤分值: 2答案:C9.链栈与顺序栈相比,有一个比较明显的优点即( )SSS_SINGLE_SELA 插入操作更加方便B 通常不会出现栈满的情况C 不会出现栈空的情况D 删除操作更加方便分值: 2答案:B10.判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用( )SSS_SINGLE_SELA 求关键路径的方法B 求最短路径的Dijkstra方法C 广度优先遍历方法D 深度优先遍历方法分值: 2答案:D11.如果T2是由有序树T转换而来的二叉树,那么T中结点的后序就是T2中结点的( )SSS_SINGLE_SELA 前序B 中序C 后序D 层次序分值: 2答案:B12.假设有一个数组,它的行号从0到8,列号从0到10,数组中每个元素所占的存储空间为3个单元,则现在将此数组从某一个地址开始连续存放在一个存储器中,试问至少需要( )个存储单元才能完全将此数组存放进去。
十套数据结构试题及答案
十套数据结构试题及答案1.请设计一个栈结构,满足以下要求:-支持常规的入栈和出栈操作。
-支持获取当前栈中最小元素的操作,并要求时间复杂度为O(1)。
答案:可以使用两个栈,一个用于存储数据,另一个用于维护当前栈中的最小值。
每次入栈时,比较要入栈的元素与当前栈中的最小值,将较小的值入最小栈。
出栈时,同时从数据栈和最小栈中出栈,保持栈的一致性。
2.请用链表实现一个队列结构,满足以下要求:-支持常规的入队和出队操作。
-支持获取队列中的最大值和最小值的操作,并要求时间复杂度为O(1)。
答案:使用双向链表实现队列,每个结点保存当前最大值和最小值,入队时更新队列相关结点的最大值和最小值,出队时删除队首结点,并更新队列最大值和最小值。
3. 设计一个LRU(Least Recently Used)缓存结构,要求如下:-缓存结构内存固定大小。
-当缓存结构满时,插入新的数据时需要剔除最近最少使用的数据。
答案:可以使用哈希表和双向链表来实现。
哈希表用于实现快速查找,双向链表用于保存数据的访问顺序。
当一些数据被访问时,根据哈希表快速定位到对应的结点,并将该结点移到链表头部。
当需要插入新数据时,如果缓存容量已满,则将链表尾部的结点剔除。
4.设计一个支持并发访问的并且具有线程安全性的哈希表结构。
答案:可以使用读写锁来保证线程安全性。
读操作时,多个线程可以同时读取,不会产生冲突;写操作时,需要获取写锁,保证同时只能有一个线程执行写操作。
5.实现一个拓扑排序算法,对有向无环图进行排序。
答案:可以使用DFS和栈结构来实现。
从任意一个未被访问的结点开始,递归地进行深度优先,并将访问完毕的结点入栈。
最终得到的栈中的结点顺序即为拓扑排序结果。
6.设计一个支持高效插入与删除的动态数组结构。
答案:可以使用动态平衡二叉树(例如AVL树)来实现。
插入与删除操作的时间复杂度为O(log n),并保持树的平衡性,避免树的高度过大。
7.设计一个支持高效查找的散列表结构。
数据结构模拟试题答案
《数据结构》模拟试题一、单项选择题(30分)1 .在数据结构的讨论中把数据结构从逻辑上分为 ____ J 。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构。
2 .算法分析的两个主要方面是―DA.正确性和简明性B.可读性和文档性C.数据复杂性和程序复杂性D.空间复杂性和时间复杂性 3 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 B 。
A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法4 .设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为cA.5B.6C.7D.95 .线性表采用链式存储结构时,要求内存中可用存储单元的地址—d _。
A.必须是连续的B.必须是部分连续的C. 一定是不连续的D.连续和不连续都可以6 .对具有n 个结点的线性表进行插入和删除操作,所需的算法时间复杂度为―dA. O(1)B. O(n)C. O(nlog 2n)D. O(n 2)7 .在单链表中指针p 所指结点之后插入指针为s 的结点,正确的操作是_b ___ 。
A. p->next=s;s->next= p->next;B. s->next= p->next; p->next=s;C. p->next=s; p->next = s->nextD. p->next=s->next; p->next=s;8 .栈中元素的进出原则是■—bA.先进先出B.先进后出C.栈空则进D.栈满则出 9 .长度是n 的顺序循环队列,front 和rear 分别指示队首和队尾,判断队列为满队列的条件是_dB. front=0 10 .下面说法不正确的是 ___ c. A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构D.广义表可以是一个多层次的结构 A. rear=0C. rear==frontD. (rear+1) %n==front11.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为—d—。
数据结构期末考试模拟试题
一、填空题(每空1分,共20分)1、数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。
2、一个算法的效率可用、来衡量。
3、向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动个元素。
4、具有n个叶子结点的哈夫曼树,其结点总数是个。
5、一般情况下,快速排序的时间复杂度是。
6、向栈中压入元素的操作是先,后。
7、称为空串;称为空白串。
8、采用三元组表存储稀疏矩阵,三元是指。
9、具有10个结点的完全二叉树,其深度是。
10、线性有序表(a1,a2,a3,…,a20)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。
11、散列法(哈希)存储的基本思想是由决定数据的存储地址。
12、具有n个顶点的无向图,最多有条边;如果该图是一个连通图,那它最少有条边;其生成树有条边。
13、每个结点的平衡因子的二叉排序树称为平衡二叉树,中序遍历该树可得到。
14、二、判断题(正确的画√,错误的画Χ;每题1分,共10分)1、队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
2、根据二叉树的先序和中序遍历结果,可唯一确定该二叉树。
3、栈和队列的存储方式既可是顺序方式,也可是链接方式。
4、二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
5、一个有向无环图进行拓扑排序,结果可能不唯一。
6、链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。
7、用二叉链表存储包含n个结点的二叉树,结点的2n个指针域中有n+1个为空指针。
8、具有2个结点的二叉树有2种形态。
9、线性表在链式存储时,逻辑上相邻的元素在存储的物理位置次序上也一定不相邻。
10、顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
三、单项选择题(每小题2分,共30分)1、算法分析的目的是。
A、分析算法的易读性B、研究算法中输入和输出的关系C、分析算法的效率,以求改进D、找出合理的数据结构2、对图进行深度优先搜索时,使用的辅助存储结构是。
《数据结构》期末模拟试卷及参考答案【十套】
《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
(完整版)数据结构试题及答案
数据结构试卷(一)王彬一、单选题(每题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进制表示。
cA.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).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的元素有( c d)个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:____ ____、________、________和_______。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构_模拟测验题全部(带答案)
题型:填空题(10题,每空1分,10分)判断+改错(5-10题,每题1-2分,10-20分)选择题(15-20题,每题1分,15-20分)综合题(5-7个大题,共35-40分)程序题(2-3题,共10-15分)综合题二叉树的顺序存储,前、中、后、层序遍历方法已知二叉树的前(后)序+中序遍历,画二叉树给定一个权值集合,画哈夫曼树,求哈夫曼编码图的邻接矩阵和邻接表存储、广度和深度遍历方法Prim算法和Kruskal算法求无向带权图的最小生成树给定待排序的数据序列,写出直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序的排序过程二叉排序树的建立哈希表的建立程序题求带头结点的单链表长的算法(显示单链表所有元素)在单链表中查找内容为x的结点的算法在带头结点head的单链表的结点a之后插入新元素x删除单链表的第i个结点直接插入排序直接选择排序冒泡排序二分查找单元测验1一.判断题(ㄨ)(1)数据的逻辑结构和数据的存储结构是相同的。
(ㄨ)(2)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(√)(3)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)(4)数据的存储结构是数据的逻辑结构的存储映像。
(ㄨ)(5)数据的逻辑结构是依赖于计算机的。
(√)(6)算法是对解题方法和步骤的描述。
二.填空题1.数据有逻辑结构和存储结构两种结构。
2. 数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
3.树形结构和图形结构合称为非线性结构。
4.数据的存储结构又叫物理结构。
5.数据的存储结构形式包括:顺序存储和链式存储6.线性结构中的元素之间存在一对一的关系。
7.树形结构中的元素之间存在一对多的关系,8.图形结构的元素之间存在多对多的关系。
9.数据结构主要研究数据的逻辑结构、存储结构和二者之间的相互运算三个方面的内容。
10.一个算法的时间复杂度是问题规模的函数。
11.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O(nlog2n)。
数据结构模考试题及答案
数据结构模考试题及答案一、单选题(共100题,每题1分,共100分)1、下面关于生成树的描述中,不正确的是( )A、生成树是树的一种表现形式B、生成树一定是连通的C、生成树一定不含有环D、若生成树顶点个数为n,则其边数一定为n-1正确答案:A2、用邻接表表示图进行广度优先遍历时,通常是采用()来实现算法的。
A、图B、栈C、队列D、树正确答案:C3、下列四种基本的逻辑结构中,结构结点间不存在任何逻辑联系的是()A、集合B、树形结构C、图形结构D、线性结构正确答案:A4、以下数据结构中,哪一个是线性结构()。
A、线索二叉树B、二叉树C、有向图D、串正确答案:D5、n个顶点的连通图至少中含有( )边。
A、n-1B、n+1C、nD、0正确答案:A6、G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。
A、7B、8C、6D、9正确答案:D7、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。
A、rear=front->nextB、front=rear->nextC、front=front->nextD、rear=rear->next正确答案:C8、一个栈的输入序列是 1 2 3 4 5,则下列序列中是栈的输出序列的是()。
A、1,4,2,5,3B、3,1,2,4,5C、2,3,4,1,5D、5,4,1,3,2正确答案:C9、假设以数组A[m]存放循环队列的元素。
已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为( )A、(rear-length+m+1)%mB、(rear-length+m)%mC、(rear-length+m-1)%mD、(rear-length)%m正确答案:B10、与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A、存储结构B、操作C、逻辑结构D、算法正确答案:C11、深度为k的完全二叉树中最少有()个结点。
数据结构模拟试题及答案
数据结构模拟试题一一、判定题(每题1 分,共15分)1.运算机程序处置的对象可分为数据和非数据两大类。
2.全部自然数按大小关系排成的序列是一个线性表。
3.在描述单向链表的结点类型时,必需第一描述数值字段,然后再描述指针字段。
4.顺序栈是一种规定了存储方式的栈。
5.树形结构中的每一个结点都有一个前驱。
6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。
7.假设某极点是有向图的根,那么该极点的入度必然是零。
8.若是某图的邻接矩阵有全零的行,没有全零的列,那么该图必然是有向图。
9.用一维数组表示矩阵能够节省存储空间。
10.广义表的长度与广义表中含有多少个原子元素有关。
11.分块查找的效率与线性表被分成多少块有关。
12.散列表的负载因子等于存入散列表中的结点个数。
13.在起泡排序进程中,某些元素可能会向相反的方向移动。
14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。
15.索引非顺序文件的特点是索引表中的索引项不必然按关键字大小有序排列。
二、填空题(每空1分,共15分)1.顺序表是一种_____________线性表。
2.假设用Q[1]~Q[m]作为非循环顺序队列的存储空间,那么对该队列最多只能执行___次插入操作。
3.栈和队列的区别在于________的不同。
4.在高度为h(h≥0)的二叉树中至少有___个结点,最多有___个结点。
5.假设用二叉链表来存储具有m个叶子,n个分支结点的树,那么二叉链表中有___个左指针域为空的结点,有___个右指针域为空的结点。
6.n个极点的有根有向图中至少有___条边,最多有___条边。
7.10行20列矩阵假设用行优先顺序表来表示,那么矩阵中第8行第7列元素是顺序表中第___个元素。
8.在各元素查找概率相等的情形下,用顺序查找方式从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是_____。
9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,最多是___次。
数据结构模拟卷(含答案)经典习题.doc
数据结构模拟卷(含答案)经典习题.doc 练习题⼀、单项选择题1. 若将数据结构形式定义为⼆元组(K ,R) ,其中K是数据元素的有限集合,则R是K上( )A. 操作的有限集合B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的指针为head ,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发⽣变化的操作是( )A. 出队B. ⼊队C. 取队头元素D. 取队尾元素5. 若进栈序列为1 ,2 ,3 ,4 ,5 ,6 ,且进栈和出栈可以穿插进⾏,则不.可能出现的出栈序列是( )A. 2 ,4 ,3 ,1 ,5 ,6B. 3 ,2 ,4 ,1 ,6 ,5C. 4 ,3 ,2 ,1 ,5 ,6D. 2 ,3 ,5 ,1 ,6 ,46. 字符串通常采⽤的两种存储⽅式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储B.数据的存储结构C.⼀组性质相同的数据元素的集合D.相互之间存在⼀种或多种特定关系的数据元素的集合8. 算法分析的⽬的是()A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输⼊与输出的关系D.鉴别算法的可读性9. 在线性表的下列运算中,不.改变数据元素之间结构关系的运算是()A.插⼊B.删除C.排序D.定位10. 下列图⽰的顺序存储结构表⽰的⼆叉树是( )11. 设串sl=″Data Structures with Java″,s2=″it″,则⼦串定位函数index(s1,s2)的值为()A.15 B.16C.17 D.1812. ⼆维数组A[8][9]按⾏优先顺序存储,若数组元素A[2][3]的存储地址为1087 ,A[4][7]的存储地址为1153 ,则数组元素A[6][7]的存储地址为()A.1213 B.1209C.1211 D.120713. 在按中序遍历⼆叉树的算法中,需要借助的辅助数据结构是()A.队列B.栈C.线性表D.有序表14. 在任意⼀棵⼆叉树的前序序列和后序序列中,各叶⼦之间的相对A.不⼀定相同B.都相同C.都不相同D.互为逆序15. 若采⽤孩⼦兄弟链表作为树的存储结构,则树的后序遍历应采⽤⼆叉树的()A.层次遍历算法B.前序遍历算法C.中序遍历算法D.后序遍历算法16. 若⽤邻接矩阵表⽰⼀个有向图,则其中每⼀列包含的″1″的个数为()A.图中每个顶点的⼊度B.图中每个顶点的出度C.图中弧的条数D.图中连通分量的数⽬17. 图的邻接矩阵表⽰法适⽤于表⽰()A.⽆向图B.有向图C.稠密图D.稀疏图18. 若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在⼆分查找关键字b的过程中,先后进⾏⽐较的关键字依次为()A.f,c,b B.f,d,bC.g,c,b D.g,d,b19. 下⾯程序段的时间复杂度为( )s=0;for(i=1;ifor(j=1;js+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第⼀个结点和最后⼀个结点。
精品数据结构模拟题
for ( int i=0; i<10; i++)
cout<<B[i]<<” “;
cout<<endl;
}
调用该算法后,输出结果为:
五、算法填空,在画有横线的地方填写合适的内容(10分)。
利用单链表进行数据排序。
void LinkSort (ElemType a[ ],int n)
2、从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为________,输出一个二维数组b[m][n]中所有元素值的时间复杂度为________。
3、在归并排序中,进行每趟归并的时间复杂度为________,整个排序过程的时间复杂度为________,空间复杂度为________。
4、在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________个,其子树数目最少为________,最多为________。
5、当从一个小根堆中删除一个元素时,需要把________元素填补到________位置,然后再按条件把它逐层________调整。
6、快速排序在平均情况下的时间复杂度为________,在最坏情况下的时间复杂度为________。
7、从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找。
2、对以下图,试给出一种拓扑序列,若在它的邻接表存储结构中,每个顶点邻接表中的边结点都是按照终点序号从大到小链接的,则按此给出唯一一种拓扑序列。
四、阅读算法,回答问题(每小题5分,共20分)
数据结构模拟试题9
数据结构模拟试题(九)本试卷分两部分,第一部分为选择题,第二部分为非选择题;选择题20分,非选择题80分,满分 100分。
考试时间 150分钟。
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要来的,请将正确选项前的字母填在题后的括号内。
1.每一个节点只存储一个数据元素,存储节点存放在连续的存储空间,该存储方式是【】A.顺序存储B.链式存储C.索引存储D.散列存储2.下列算法的时间复杂度是【】for(i= 0; i< n; i++ )for(j= 0; j< n; j++ )c[i][j]=i+j;A.O(l)B.O(n)C.O(logn)2D.O(n2)3.不带头节点的单链表head为空的判定条件是【】A.head=NULLB.head->next= NULLC.head->next= headD.head!= NULL4.线性表若采用链式存储结构时,要求内存中可用存储单元的地址【】A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续或不连续都可以5.一个栈的入栈序列是a,b,c,则栈的不可能的输出序列是【】A.acb B.bacC.bca D.cab6.从一个栈项指针top的链栈中删除一个节点时,用x保存被删除的节点,执行【】A.X=top; top= top-> next;B.X=top->data;C.top=top->next; X=top->data;D.X=top->data;top=top->next;7.设s3= “I AM”,s4 = “A TEACHER”,则strcmp(s3,s4)= 【】A.”IAM”B.”IAM A TERCHER”C.”IAMATERCHER” D.”ATERCHER”8.设二维数组A[0..m-1][0..n-l]按行优先顺序存储,则元素A[I][j]的地址为【】A.LOC(A[0][0])+(j*m+i)B.LOC(A[0][0])+(j*n+i)C.LOC(A[0][0])+[(j-1)*n+i-1]D.LOC(A[0][0])+[(j-1)*m+i-l]9.广义表(())的表头是【】A.a B.(a)C.() D.(())10.广义表(())的表尾是【】A.a B.()C.()D.((a))11.在具有 n个节点的完全二又树中,节点 i(i=l)的父节点是【】A.2i B.不存在C.2i+i D.[i/2]12.若由树转化得到的二叉树是非空的二叉树,则二叉树形状是【】A.根节点无右子树的二叉树B.根节点无左子树的二叉树C.根节点可能有左二叉和右二叉树D.各节点只有一个儿子的二叉树13.满二叉树二叉树【】A.一定是完全B.不一定是完全C.不是D.不是完全14.对于一个具有n个节点的无向图,若采用邻接矩阵表示,则该矩阵的大小是【】A.n B.(n+ l)2C.n-1 D.(n)215.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功所需的平均比较次数为【】A.35/12 B.37/12C.39/12 D.43/1216.在下列排序方法中,是不稳定的排序方法【】A.直接插入排序 B.直接选择排序C.冒泡排序 D.归并排序17.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为【】A.n B.n/2C.(n+1)/2 D.(n-1)/218.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用查找方法【】A.顺序 B.折半C.分块 D.基于属性19.磁盘存储器只适应于存储【】A.顺序 B.随机C.顺序和随机D.散列20.冒泡排序的方法要求被排序的数据存储【】A.必须是顺序B.必须是链表C.顺序或链表D.二叉树第二部分非选择题二、填空题(本大题共 15小题,每空 1分,共 20分)1.一般情况下,我们将算法求解问题的输入量称为问题的。
数据结构单选选题及模拟试题
数据结构选题单选题:(每小题10分,共计100分)1、算法是指( )A.为解决问题而编写的计算机程序 B.为解决问题而采取的方法与步骤 C.为解决问题而需要采用的计算机语言 D.为解决问题而采用的计算方法2 、设栈S的初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在S栈上依次进行如下操作(从序列中的1开始,出栈后不再进栈):进栈、进栈、进栈、出栈、进栈、出栈、进栈。
试问出栈的元素序列是( )A.{5,4,3,2,1} B.{2,1}C.{2,3} D.{3,4}3、设循环队列中数组的下标范围是1-n,其中头尾指针分别是f和r,则其元素个数是( ) A.r-f B.r-f+1 C.(r-f) MOD n+1D.(r-f+n) MOD n4、在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是( )A.堆排序 B.希尔排序C.冒泡排序 D.快速排序5、在有n个子叶节点的哈夫曼树中,其节点总数为( )A.不确定 B.2n-1 C.2n+1 D.2n6、某数列有1000个各不相同的单元,由低到高按序排列,现要对该数列进行二分法检索,在最坏的情况下,需要检视( )个单元( )A.1000 B.10 C.100 D.5007、已知数组A中,每个元素A[I,J]在存储时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存储分配的。
试问:A[5,8]的起始地址为( )A.SA+141 B.SA+180C.SA+222 D.SA+2258、线性表若采用链表存储结构,要求内存中可用存储单元地址( )A.必须连续 B.部分地址必须连续C.一定不连续 D.连续不连续均可9、下列叙述中,正确的是( )A.线性表的线性存储结构优于链表存储结构 B.队列的操作方式是先进后出C.栈的操作方式是先进先出 D.二维数组是指它的每个数据元素为一个线性表的线性表10、电线上停着两种鸟(A,B),可以看出两只相邻的鸟就将电线分为了一个线段。
数据结构模拟试题(含答案)
数据结构模拟试题(含答案)一、单选题(共100题,每题1分,共100分)1、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。
A、5B、6C、7D、4正确答案:B2、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。
A、15B、47C、16D、17正确答案:C3、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。
A、100B、99C、102D、101正确答案:A4、一棵含18个结点的二叉树的高度至少为( )A、5B、4C、6D、3正确答案:A5、有关栈的描述,正确的是()A、栈是一种先进先出的特殊的线性表B、只能从栈顶执行插入、删除操作C、只能从栈顶执行插入、栈底执行删除D、栈顶和栈底均可执行插入、删除操作正确答案:B6、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A、中序遍历算法B、前序遍历算法C、后序遍历算法D、层次遍历算法正确答案:A7、若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( ) typedef struct node { char data[8]; struct node *next; } LinkStrNode;A、s->next=p; p->next=s->next;B、s->next=p->next; p->next=s;C、p->next=s->next; s->next=p;D、p->next=s; s->next=p->next;正确答案:B8、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。
A、O(n)B、O(1)C、O(n2)D、O(n/2)正确答案:A9、执行一趟快速排序能够得到的序列是()。
A、[45,34,12,41] 55 [72,63,27]B、[63,12,34,45,27] 55 [41,72]C、[12,27,45,41] 55 [34,63,72]D、[41,12,34,45,27] 55 [72,63]正确答案:D10、带权有向图G用邻接矩阵A存储,则顶点i 的入度等于A中()。
数据结构模拟试题
设内存有大小为6个记录的缓冲区供内排序使用,文件的关键字序列为{29,50,70,33,38,60,28,31,43,36,25,9,80,100,57,18,65,2,78,30,14,20,17,99),试列出:
(1)用内排序求出初始归并段;
(2)用置换一选择排序求初始归并段。
六、(本题8分)
对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。
七、(本题8分)
一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。
先序序列:BFICEHG
中序序列:DKFIAEJC
后序序列:KFBHJGA
八、(每小题2分,共8分)
(3)( )不是队列的基本运算。
设有一个输入数据的序列是{46, 25, 78, 62, 12, 80 },试画出从空树起,逐个输入各个数据而生成的二叉搜索树。
九、(本题9分)
试画出表达式(a+b/c)*(d-e*f)的二叉树表示,并写出此表达式的波兰式表示,中缀表示及逆波兰式表示。
十、(本题15分)
以二叉链表作存储结构,试编写计算二叉树中叶子结点数目的递归算法。
模拟试题(三)
一、单项选择题(每小题2分,共20分)
(1)对一个算法的评价,不包括如下( )方面的内容。
A)健壮性和可读性B)并行性C)正确性D)时空复杂度
(2)在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A)p->next=HL->next; HL->next=pB)p->next=HL; HL=p
A)14B)5C)6D)8
数据结构全真模拟试题与解答
全真模拟试题一、单项选择题〔在每个小题的4个备选答案中,选出正确的答案,并将其号码填在题后的括号内。
每题2分,共24分〕1.一个具有n个顶点的无向完全图的边数为〔〕①n(n+1)/2 ②n(n-1)/2 ③n(n-1) ④n(n+1)2.在索引顺序表中查找一个元素,可用的且最快的方法是〔〕①用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找②用顺序查找法确定元素所在块,再用二分查找法在相应块中查找③用二分查找法确定元素所在块,再用顺序查找法在相应块中查找④用二分查找法确定元素所在块,再用二分查找法在相应块中查找3.假设某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,那么采用〔〕存储方式最节省运算时间。
①单链表②双链表③带头结点的双循环链表④容量足够大的顺序表4.串是〔〕①一些符号构成的序列②有限个字母构成的序列③一个以上的字符构成的序列④有限个字符构成的序列5.堆排序在最坏情况下,其时间复杂性为〔〕①O(nlog2n) ②O(n2)③O(log2n2) ④O(log2n)6.快速排序的记录挪动次数〔〕比较次数,其总执行时间为O(nlog2n)。
①大于②大于等于③小于等于④小于7.一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,〔号码为1-n〕,编号须具有如下性质:二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。
而其右子树中结点的最小编号等于V的编号加1。
试问应按〔〕遍历顺序编号。
①前根②中根③后根④层次8.3个结点可构成〔〕个不同形态的二叉树。
① 2 ②3 ③4 ④59.对有n个记录的有序表采用二分查找,其平均查找长度的量级为〔〕①O(log2n) ②O(nlog2n) ③O(n) ④O(n2)10.对有n个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为〔〕①O(n) ②O(nlog2n) ③O(1) ④(log2n)11.栈操作的原那么是〔〕①先进先出②后进先出③栈顶插入④栈顶删除12.设矩阵A是一对称矩阵(a ij=a ji,1<=i,j<=8),假设每个矩阵元素占3个单元,将其上三角部分〔包括对角线〕按行序为主序存放在数组B中,B的首地址为1000,那么矩阵元素a67的地址为〔〕①1031 ②1093 ③1096 ④1032二、判断题〔判断以下各题是否正确,正确在括号内打“√〞,错的打“×〞。
全国自考(数据结构)模拟试卷9(题后含答案及解析)
全国自考(数据结构)模拟试卷9(题后含答案及解析)题型有:1. 单项选择题 2. 填空题 3. 解答题 4. 算法阅读题 5. 算法设计题单项选择题1.堆排序的最坏时间复杂度为( )A.O(n)B.O(10g2n)C.O(nlog2n)D.O(n2)正确答案:C2.对广义表((a),(b))进行下面的操作head(head((a),(b)))后的结果是( ) A.aB.(a)C.( )D.不确定正确答案:A3.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,则它的前序遍历序列是( )A.a c b e dB.d e c a bC.d e a b cD.c e d b a正确答案:D4.判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用( )A.求关键路径的方法B.求最短路径的Dijkstra方法C.广度优先遍历方法D.深度优先遍历方法正确答案:D5.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的结点的双亲结点编号为( )A.42B.40C.21D.20正确答案:D6.设数组A[0,m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行入队操作的语句是( )A.sq.front=(sq.front+1)%mB.sq.front=(sq.front+1)%(m+1)C.sq.rear=(sq.rear+1)%mD.sq.rear=(sq.rear+1)%(m+1)正确答案:D7.如果T2是由有序树T转换而来的二叉树,那么T中结点的后序就是T2中结点的( )A.前序B.中序C.后序D.层次序正确答案:B8.链栈与顺序栈相比,有一个比较明显的优点即( )A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的情况D.删除操作更加方便正确答案:B9.串是任意有限个( )A.符号构成的集合B.符号构成的序列C.字符构成的集合D.字符构成的序列正确答案:D10.堆是一个键值序列(k1,k2,k…,k1…,k0),对i=1,2…,[n/2],满足( )A.ki≤k2i≤k2i+1B.ki<k2i<k2i+1C.ki≤k2i且k≤k2i+1(2i+1≤n)D.ki≤k2i或ki≤k2i+l(2i+1≤n)正确答案:C11.带头结点的单链表Head为空的判定条件是( )A.Head=NULL;B.Head↑.next=NULL;C.Head↑.nextHead;D.Head↑.next=Head↑正确答案:B12.如果待排序的记录的规模很大,则在下面的排序方式中,我们最好不要选择使用( )A.快速排序B.直接插入排序C.堆排序D.归并排序正确答案:B13.串是一种特殊的线性表,其特殊性体现在( )A.可以顺序存储B.数据元素是一个字符C.可以链接存储D.数据元素可以是多个字符正确答案:B14.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( ) A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以正确答案:D15.假设有一个数组,它的行号从0到8,列号从0到10,数组中每个元素所占的存储空间为3个单元,则现在将此数组从某一个地址开始连续存放在一个存储器中,试问至少需要( )个存储单元才能完全将此数组存放进去。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试卷二一、单选题(每题 2 分,共20分)1.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( B )。
A. HL=p; p->next=HL;B. p->next=HL->next; HL->next=p;C. p->next=HL; p=HL;D. p->next=HL; HL=p;2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储( B )个元素.A. nB.n-1C. n+1D.不确定3.下述哪一条是顺序存储方式的优点?( A )A.存储密度大 B.插入和删除运算方便C. 获取符合某种条件的元素方便D.查找运算速度快4.下列关于二叉树遍历的叙述中,正确的是( A ) 。
A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点5.k层二叉树的结点总数最多为( A ).A.2k-1 B.2K+1 C.2K-1 D. 2k-16.对线性表进行二分法查找,其前提条件是( C ).A.线性表以链接方式存储,并且按关键码值排好序B.线性表以顺序方式存储,并且按关键码值的检索频率排好序C.线性表以顺序方式存储,并且按关键码值排好序D.线性表以链接方式存储,并且按关键码值的检索频率排好序7.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有( D )个,A.1 B.2 C.3 D.48.下列关于数据结构的叙述中,正确的是( D ).A.数组是不同类型值的集合B.递归算法的程序结构比迭代算法的程序结构更为精炼C.树是一种线性结构D.用一维数组存储一棵完全二叉树是有效的存储方法二、填空题(每空1分,共26分)1.数据的逻辑结构被分为_________、________、__________和___________四种。
2.一个算法的时间复杂度为(3n3+2000n log2n+90)/n2,其数量级表示为________。
3.对于一个长度为n的单链存储的队列,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
4.假定一棵树的广义表表示为A(D(E,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。
5.后缀算式79 2 30 + - 4 2 / *的值为__________。
中缀算式(3+X*Y)-2Y/3对应的后缀算式为_______________________________。
6.在一棵高度为5的理想平衡树中,最少含有_______个结点,最多含有_______个结点。
7.在树中,一个结点的直接后继结点称为该结点的________。
一个结点的直接前趋结点称为该结点的________。
8.在一个具有10个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。
9.假定一个线性表为(12,17,74,5,63,49,82,36),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为____________________________、___________________、_______________________和__________________________。
10.对一棵B_树进行删除元素的过程中,若最终引起树根结点的合并时,会使新树的高度比原树的高度___________。
11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。
12.在线性表的散列存储中,装填因子α又称为装填系数,若用m表示散列表的长度,n表示待散列存储的元素的个数,则α等于________。
三、运算题(每题 6 分,共24分)1.在如下数组A中链接存储了一个线性表,表头指针存放在A [ 0].next,试写出该线性表。
datanext2.KBCDAFHIGJ, 试画出这棵二叉树。
3.已知一个图的顶点集V为:V={1,2,3,4,5,6,7};起点终点权4.画出向小根堆中加入数据4, 2, 5, 8, 3, 6, 10, 1时,每加入一个数据后堆的变化。
四、阅读算法(每题7分,共14分)1.在下面的每个程序段中,假定线性表La的类型为List,元素类型ElemType为int,并假定每个程序段是连续执行的。
试写出每个程序段执行后所得到的线性表La。
(1)InitList(La);Int a[]={100,26,57,34,79};For (i=0;i<5;i++)Insert(La,a[i]);TraverseList(La);(2)DeleteFront(La);InsertRear(La, DeleteFront(La));TraverseList(La);(3)ClearList(La);For (i=0;i<5;i++)InsertFront(La,a[i]);TraverseList(La);2.现面算法的功能是什么?void ABC(BTNode * BT){if BT {cout<<BT->data<<' ';ABC(BT->left);ABC(BT->right);}}五、算法填空(共8分)二分查找的递归算法。
Int Binsch(ElemType A[],int low,int high,KeyType K){if ___________________{int mid=(low+high)/2;if (_____________________) return mid; //查找成功,返回元素的下标 else if (K<A[mid].key)return Binsch(A,low,mid-1,K); //在左子表上继续查找 else return_____________________________; //在右子表上继续查找 }else ________________; //查找失败,返回-1}六、编写算法(共8分)HL为单链表的表头指针,试写出在该单链表中查找具有给定的元素item的算法。
bool Find(LNode* HL, ElemType &item)模拟试卷二参考答案一、单选题(每题2分,共20分)1.B2.B3.A4.D5.A6.A7.C8.C9.D 10.D二、填空题(每空1分,共26分)1.集合结构线性结构树结构图结构2.O(n)3.O(1) O(1)4.7 3 25.94 3 X Y * + 2 Y * 3 / -6.16 317.孩子(或子)结点双亲(或父)结点8.45 n(n-1)9.(12,36)(17,5,49)(74,82)(63)10.减少1(或减少)11.O(log2n) O(nlog2n)12.n/m三、运算题(每题6分,共24分)1.线性表为:(90,40,78,50,34,60)2.当前序序列为ABKCDFGHIJ,中序序列为KBCDAFHIGJ时,逐步形成二叉树的过程如下图4所示:3.(1,6)1, (2,4)1, (2,5)2, (5,7)2, (2,6)3, (3,5)74.见图5。
图5四、阅读算法(每题7分,共14分)1.(1) La=(26,34,57,79,100)(2)La=(57,79,100,34)(3)La=(79,34,57,26,100)2.前序遍历链式存储的二叉树。
五、算法填空(每空2分,共8 分)(low<=high) K==A[mid].key Binsch(A,mid+1,hight,K) return -1 六、编写算法(8分)bool Find(LNode* HL, ElemType &item){LNode* p=HL;while pif (p->data==item){return true;}else p=p->next;return false;}模拟试卷二七、单选题(每题 2 分,共20分)9.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=p; p->next=HL;B. p->next=HL->next; HL->next=p;C. p->next=HL; p=HL;D. p->next=HL; HL=p;10.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素.A. nB.n-1C. n+1D.不确定11.下述哪一条是顺序存储方式的优点?()A.存储密度大 B.插入和删除运算方便C. 获取符合某种条件的元素方便D.查找运算速度快12.设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3)A.658 B.648 C.633 D.65313.下列关于二叉树遍历的叙述中,正确的是( ) 。
A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点14.k层二叉树的结点总数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-115.对线性表进行二分法查找,其前提条件是( ).E.线性表以链接方式存储,并且按关键码值排好序F.线性表以顺序方式存储,并且按关键码值的检索频率排好序G.线性表以顺序方式存储,并且按关键码值排好序H.线性表以链接方式存储,并且按关键码值的检索频率排好序16.对n个记录进行堆排序,所需要的辅助存储空间为A. O(1og2n)B. O(n)C. O(1)D. O(n2)17.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有()个,A.1 B.2 C.3 D.418.下列关于数据结构的叙述中,正确的是( ).E.数组是不同类型值的集合F.递归算法的程序结构比迭代算法的程序结构更为精炼G.树是一种线性结构H.用一维数组存储一棵完全二叉树是有效的存储方法八、填空题(每空1分,共26分)13.数据的逻辑结构被分为_________、________、__________和___________四种。