数据结构模拟试题7

合集下载

数据结构考试题7

数据结构考试题7

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和序号。

一、单项选择题(每小题2分,共计30分)1. 算法的时间复杂度取决于。

A. 问题的规模B. 待处理数据的初始状态C. A和BD. 计算机的配置2. 由n个无序的元素创建一个有序单链表的算法的时间复杂度是。

A.O(nlog2n) B.O(n) C.O(n2) D.A或C3. 在 ______中将会用到栈结构。

A. 递归调用B. 函数调用C. 表达式求值D.以上场景都有4. 设循环队列的最大容量是N,front是头指针,rear是尾指针,则队空的判定条件为。

A. (rear+1)%N==frontB. rear+1==frontC. rear==frontD. rear=0,且front=05. 设二维数组A[3][5],每个数组元素占用2个存储单元,若按列优先顺序进行存储,A[0][0]的存储地址为100,则A[2][3]的存储地址是。

A. 122B. 126C. 114D. 1166. 在KMP算法中,串“ababaabab”的next数组值为_______。

A. -1,0,0,1,2,3,1,2,3B. -1,0,0,1,2,1,1,2,3C. -1,0,0,1,2,3,4,1,2D. -1,0,0,1,2,3,1,2,27. 在下列存储形式中,_______ 不是m叉树(m>2)的存储形式?A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法8.下面算法适合用于构造一个稠密图的最小生成树。

A. Dijkstra算法B. Prim算法C. Floyd算法D. Kruskal算法9. 方法可以判断一个有向图是否存在回路。

A. 求最小生成树B. 拓扑排序C. 求关键路径D. 求最短路径10. 已知图G的邻接表如图1所示,则从顶点V0出发进行深度优先遍历的结果是________。

图1 图G的邻接表A. 0,1,2,3,4B. 0,1,2,4,3C. 0,1,3,4,2D. 0,1,4,2,311. 二分查找和二叉排序树查找的时间性能。

数据结构试题7

数据结构试题7

专业 年级(本、专科) 学号______________ 姓 名 ________________密封 线德州学院期末考试试卷( 至 学年第 学期)课程名称: 数据结构 考试对象: 计科、信管本 试卷类型 7 考试时间: 120 分钟 一、选择题(每小题2分,共20分) 1.算法的计算量的大小称为计算的( )。

A .效率 B. 复杂性 C. 现实性 D. 难度2.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( ) A. 543612 B. 453126 C. 346521 D. 2341563.在一个单链表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;4.当利用大小为N的数组顺序存储一个栈时,假定用top==N 表示栈空,则向这个栈插入一个元素后,应执行( )语句修改top 指针.A .top++B .top--C .top=0D .top5.对于顺序存储的队列,存储空间大小为n ,头指针为F ,尾指针为R 。

若在逻辑上看一个环,则队列中元素的个数为( )A .R-FB .n+R-FC .(R-F+1)mod nD .(n+R-F )mod n6.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( ). A .24 B .55 C .72 D .53 7.有n 个顶点的完全无向图中,则包含有( )条边. A .n(n-1) B .n(n-1)/2 C .n D .n²8.设i 为n 个结点的完全二叉树结点编号,i=1,2,3...n ;若i ≤(n-1)/2时,结点i 的右孩子为( )A .2iB .2i+1C .2i-1D .i+19.适用于折半查找的表的存储方式及元素排列要求为( )。

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。

数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。

通过使用不同的数据结构,可以更高效地存储、查找和操作数据。

2. 请解释什么是栈,并给出一个栈的应用场景。

栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。

栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。

3. 什么是队列?请给出一个队列的实际应用例子。

队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。

一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。

4. 请解释什么是链表,并给出一个链表的优点和缺点。

链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。

链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。

缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。

5. 请解释什么是树,并给出一个树的实际应用例子。

树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。

一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。

6. 请解释什么是图,并给出一个图的实际应用例子。

图是一种由节点和节点之间的连接关系组成的数据结构。

一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。

7. 请解释什么是散列(哈希)表,以及它的优势和劣势。

散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。

散列表的优势是查找操作的平均时间复杂度为O(1)。

劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。

国开作业《数据结构(本)-形考作业》 (7)

国开作业《数据结构(本)-形考作业》 (7)

题目:将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为()。

选项A:33选项B:34选项C:35选项D:36答案:34题目:如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为()。

选项A:哈夫曼树选项B:平衡二叉树选项C:二叉树选项D:完全二叉树答案:哈夫曼树题目:在一棵度具有5层的满二叉树中结点总数为()。

选项A:31选项B:32选项C:33选项D:16答案:31题目:一棵完全二叉树共有6层,且第6层上有6个结点,该树共有()个结点。

选项A:31选项B:37选项C:38选项D:72答案:37题目:利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子结点中的最长带权路径长度为()。

选项A:16选项B:30选项C:12选项D:18答案:18题目:在一棵树中,()没有前驱结点。

选项A:空结点选项B:树根结点选项C:分支结点选项D:叶结点答案:树根结点题目:设一棵采用链式存储的二叉树,除叶结点外每个结点度数都为2,该树结点中共有20个指针域为空,则该树有()个叶结点。

选项A:9选项B:21选项C:22选项D:10答案:10题目:在一个图G中,所有顶点的度数之和等于所有边数之和的()倍。

选项A:1选项B:2选项C:4选项D:1/2答案:2题目:假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()。

选项A:15选项B:17选项C:47选项D:16答案:16题目:二叉树第k层上最多有()个结点。

选项A:2k-1选项B:2k选项C:2k-1选项D:2k-1答案:2k-1题目:邻接表是图的一种()。

选项A:链式存储结构选项B:索引存储结构选项C:顺序存储结构选项D:散列存储结构答案:链式存储结构题目:图的深度优先遍历算法类似于二叉树的()遍历。

选项A:先序选项B:中序选项C:后序选项D:层次答案:先序题目:已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为()。

十套数据结构模拟题+答案

十套数据结构模拟题+答案

数据结构试卷(一)一、选择题(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 =____________;。

数据结构与算法 模拟试卷七、八及参考答案

数据结构与算法 模拟试卷七、八及参考答案

模拟试卷七一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。

每小题1分,共10分)1.假设执行语句S的时间为O(1),则执行下列程序段for(i=1;i<=n;i++)for(j=i;j<=n;j++)S;的时间为( )A)O(n)B)O(n2)C)O(n*i)D)O(n+i)2.设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能的出栈序列是()。

A)1,2,3,4,5,6 B)2,1,3,4,5,6C)3,4,2,1,5,6 D)4,3,2,1,5,63.设单链表的结点结构为(data,next),已知指针q所指结点是指针p所指结点的直接前驱,如在*q与*p之间插入结点*s,则应执行的操作为()。

A)s->next=p->next; p->next=s; B)q->next=s; s->next=p;C)p->next=s-next; s->next=p; D)p->next=s; s-next=q;4.串S='ABC DEF'的串长为()。

A)3 B)4C)7 D)85.下面二叉树按()遍历得到的序列是FEDBIHGCA。

A)先序B)中序C)后序D)层次6.用Floyd算法求每一对顶点之间的最短路径的时间复杂度为()。

A)O(n) B)O(n2)C)O(n3) D)O(nlogn)7.具有n个顶点的无向图,它可能具有的边数的最大值为()。

A)(n2+n)/2 B)n2C)(n2-n)/2 D)n8.二分查找法要求被查找的表是()。

A)顺序表B)链接表C)顺序表且是按值递增或递减次序排列D)不受上述的任何限制9.在一待散列存储的线性表(18,25,63,50,42,32,90),若选用h(k)=k % 7作为散列函数,则与元素18冲突的元素有( )个。

A)0 B)1C)2 D)310.在下列排序算法中,不稳定的是()。

数据结构模拟卷(含答案)经典习题培训讲学

数据结构模拟卷(含答案)经典习题培训讲学

数据结构模拟卷(含答案)经典习题练习题一、单项选择题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. 散列存储和顺序存储7. 数据结构是()A.一种数据类型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;i<n;i++)for(j=1;j<i;j++)s+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。

数据结构模拟试题答案

数据结构模拟试题答案

《数据结构》模拟试题一、单项选择题(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.图中有关路径的定义是〔〕.[北方交通大学 2001 一、24 〔2分〕] A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是2.设无向图的顶点个数为n,则该图最多有〔〕条边.A.n-1 B.n<n-1>/2 C. n<n+1>/2 D.0 E.n2[清华大学 1998 一、5 〔2分〕][西安电子科技大 1998 一、6 〔2分〕][航空航天大学 1999 一、7 〔2分〕]3.一个n个顶点的连通无向图,其边的个数至少为〔〕.[##大学 1999 四、4 <4分>] A.n-1 B.n C.n+1 D.nlogn;4.要连通具有n个顶点的有向图,至少需要〔〕条边.[航空航天大学 2000 一、6<2分〕] A.n-l B.n C.n+l D.2n5.n个结点的完全有向图含有边的数目〔〕.[中山大学 1998 二、9 〔2分〕] A.n*n B.n〔n+1〕 C.n/2 D.n*〔n-l〕6.一个有n个结点的图,最少有〔〕个连通分量,最多有〔〕个连通分量.A.0 B.1 C.n-1 D.n[邮电大学 2000 二、5 〔20/8分〕]7.在一个无向图中,所有顶点的度数之和等于所有边数〔〕倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的〔〕倍.[哈尔滨工业大学 2001 二、3 〔2分〕] A.1/2 B.2 C.1 D.48.用有向无环图描述表达式<A+B>*〔〔A+B〕/A〕,至少需要顶点的数目为< >.[中山大学1999一、14]A.5 B.6 C.8 D.99.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是< >.A.逆拓扑有序 B.拓扑有序 C.无序的 [中科院软件所1998]10.下面结构中最适于表示稀疏无向图的是〔〕,适于表示稀疏有向图的是〔〕.A.邻接矩阵 B.逆邻接表 C.邻接多重表 D.十字链表 E.邻接表[工业大学 2001 一、3 <2分>]11.下列哪一种图的邻接矩阵是对称矩阵?〔〕[北方交通大学 2001 一、11 〔2分〕] A.有向图 B.无向图 C.AOV网 D.AOE网12.从邻接阵矩可以看出,该图共有〔①〕个顶点;如果是有向图该图共有〔②〕条弧;如果是无向图,则共有〔③〕条边.[中科院软件所 1999 六、2〔3分〕]①.A.9 B.3 C.6 D.1 E.以上答案均不正确②.A.5 B.4 C.3 D.2 E.以上答案均不正确③.A.5 B.4 C.3 D.2 E.以上答案均不正确13.当一个有N个顶点的图用邻接矩阵A表示时,顶点Vi的度是〔〕.[南京理工大学1998一、4<2分〕]A. B. C. D.+14.用相邻矩阵A表示图,判定任意两个顶点Vi和Vj之间是否有长度为m 的路径相连,则只要检查〔〕的第i行第j列的元素是否为零即可.[武汉大学 2000 二、7] A.mA B.A C.A m D.Am-115. 下列说法不正确的是〔〕.[青岛大学 2002 二、9 〔2分〕]A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 C.图的深度遍历不适用于有向图B.遍历的基本算法有两种:深度遍历和广度遍历 D.图的深度遍历是一个递归过程16.无向图G=<V,E>,其中:V={a,b,c,d,e,f},E={<a,b>,<a,e>,<a,c>,<b,e>,<c,f>,<f,d>,<e,d>},对该图进行深度优先遍历,得到的顶点序列正确的是〔〕.[南京理工大学 2001 一、14 〔1.5分〕] A.a,b,e,c,d,f B.a,c,f,e,b,d C.a,e,b,c,f,d D.a,e,d,f,c,b 17. 设图如右所示,在下面的5个序列中,符合深度优先遍历的序列有多少?〔〕[南京理工大学 2000 一、20 〔1.5分〕]a eb d fc a c fde b a e df c b a e f d c b a e f d b cA.5个 B.4个 C.3个 D.2个第17题图第18题图18.下图中给出由7个顶点组成的无向图.从顶点1出发,对它进行深度优先遍历得到的序列是< ① >,而进行广度优先遍历得到的顶点序列是〔②〕.[中科院软件所 1999 六、2-〔1〕〔2分〕]①.A.1354267 B.1347652 C.1534276 D.1247653 E.以上答案均不正确②.A.1534267 B.1726453 C.l354276 D.1247653 E.以上答案均不正确19.下面哪一方法可以判断出一个有向图是否有环〔回路〕:[东北大学 2000 4、2〔4分〕] A.深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径20. 在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为< >.A. O<n>B. O<n+e>C. O<n2>D. O<n3>[合肥工业大学 2001 一、2 〔2分〕]21. 下面是求连通网的最小生成树的prim算法:集合VT,ET分别放顶点和边,初始为〔 1 〕,下面步骤重复n-1次: a:〔 2 〕;b:〔 3 〕;最后:〔 4 〕.[南京理工大学 1997 一、11_14 〔8分〕]〔1〕.A.VT,ET为空 B.VT为所有顶点,ET为空C.VT为网中任意一点,ET为空 D.VT为空,ET为网中所有边〔2〕.A. 选i属于VT,j不属于VT,且〔i,j〕上的权最小B.选i属于VT,j不属于VT,且〔i,j〕上的权最大C.选i不属于VT,j不属于VT,且〔i,j〕上的权最小D.选i不属于VT,j不属于VT,且〔i,j〕上的权最大〔3〕.A.顶点i加入VT,〔i,j〕加入ET B. 顶点j加入VT,〔i,j〕加入ET C. 顶点j加入VT,〔i,j〕从ET中删去 D.顶点i,j加入VT,〔i,j〕加入ET〔4〕.A.ET 中为最小生成树 B.不在ET中的边构成最小生成树 C.ET中有n-1条边时为生成树,否则无解 D.ET中无回路时,为生成树,否则无解22. <1>. 求从指定源点到其余各顶点的迪杰斯特拉〔Dijkstra〕最短路径算法中弧上权不能为负的原因是在实际应用中无意义;<2>. 利用Dijkstra求每一对不同顶点之间的最短路径的算法时间是O<n3> ;〔图用邻接矩阵表示〕<3>. Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路.上面不正确的是〔〕.[南京理工大学 2000 一、21 〔1.5分〕]A.<1>,<2>,<3> B.<1> C.<1>,<3> D.<2>,<3>23.当各边上的权值< >时,BFS算法可用来解决单源最短路径问题.[中科院计算所2000一、3 <2分〕]A.均相等 B.均互不相等 C.不一定相等24. 求解最短路径的Floyd算法的时间复杂度为< >.[合肥工业大学 1999 一、2 〔2分〕]A.O〔n〕 B. O〔n+c〕 C. O〔n*n〕 D. O〔n*n*n〕25.已知有向图G=<V,E>,其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是〔〕.A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7[航空航天大学 2000 一、7 〔2分〕]26.若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列〔〕.A.存在 B.不存在[中科院计算所1998 二、6 <2分〕][中国科技大学 1998二、6〔2分〕]27.一个有向无环图的拓扑排序序列〔〕是唯一的.[邮电大学 2001 一、3 〔2分〕] A.一定 B.不一定28. 在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是〔〕.A.G中有弧<Vi,Vj> B.G中有一条从Vi到Vj的路径C.G中没有弧<Vi,Vj> D.G中有一条从Vj到Vi的路径[南京理工大学 2000 一、9 〔1.5分〕]29. 在用邻接表表示图时,拓扑排序算法时间复杂度为< >.A. O<n>B. O<n+e>C. O<n*n>D. O<n*n*n>[合肥工业大学 2000 一、2 〔2分〕][南京理工大学 2001 一、9 〔1.5分〕][青岛大学 2002 二、3 〔2分〕]30. 关键路径是事件结点网络中〔〕.[西安电子科技大学 2001应用一、4 〔2分〕]A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.最长回路 D.最短回路31. 下面关于求关键路径的说法不正确的是〔〕.[南京理工大学 1998 一、12 〔2分〕] A.求关键路径是以拓扑排序为基础的B.一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同C.一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差D.关键活动一定位于关键路径上32.下列关于AOE网的叙述中,不正确的是〔〕.A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动提前完成,那么整个工程将会提前完成[北方交通大学 1999 一、7 〔3分〕][工业大学 1999 一、1 <2分>]二、判断题1.树中的结点和图中的顶点就是指数据结构中的数据元素.〔〕[青岛大学 2001 四、1 〔1分〕]2.在n个结点的无向图中,若边数大于n-1,则该图必是连通图.〔〕[中科院软件所1997一、4<1分〕]3.对有n个顶点的无向图,其边数e与各顶点度数间满足下列等式e=.〔〕[南京航空航天大学 1996 六、4 〔1分〕]4. 有e条边的无向图,在邻接表中有e个结点.〔〕[南京理工大学 1998 二、5 〔2分〕]5. 有向图中顶点V的度等于其邻接矩阵中第V行中的1的个数.〔〕[合肥工业大学2001二、7<1分〕]6.强连通图的各顶点间均可达.〔〕[邮电大学 2000 一、3 〔1分〕]7.强连通分量是无向图的极大强连通子图.〔〕[邮电大学 2002 一、7 〔1分〕]8.连通分量指的是有向图中的极大连通子图.〔〕[燕山大学 1998 二、4 〔2分〕] 9.邻接多重表是无向图和有向图的链式存储结构.〔〕[南京航空航天大学 1995 五、5 〔1分〕]10. 十字链表是无向图的一种存储结构.〔〕[青岛大学 2001 四、7 〔1分〕]11. 无向图的邻接矩阵可用一维数组存储.〔〕[青岛大学 2000 四、5 〔1分〕]12.用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关.〔〕[东南大学 2001 一、4 〔1分〕] [中山大学 1994 一、3 〔2分〕]13.有n个顶点的无向图, 采用邻接矩阵表示, 图中的边数等于邻接矩阵中非零元素之和的一半.〔〕[邮电大学 1998 一、5 〔2分〕]14. 有向图的邻接矩阵是对称的.〔〕[青岛大学 2001 四、6 〔1分〕]15.无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵.〔〕[东南大学 2001 一、3 〔1分〕][哈尔滨工业大学 1999 三、4]16. 邻接矩阵适用于有向图和无向图的存储,但不能存储带权的有向图和无向图,而只能使用邻接表存储形式来存储它.〔〕[##海运学院 1995 一、9〔1分〕 1997 一、8〔1分〕 1998一、9〔1分〕]17. 用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中结点个数有关,而与图的边数无关.〔〕[##海运学院 1996 一、8 〔1分〕 1999 一、9 〔1分〕]18.一个有向图的邻接表和逆邻接表中结点的个数可能不等.〔〕[##交通大学 1998 一、12]19.需要借助于一个队列来实现DFS算法.〔〕[南京航空航天大学 1996 六、8 〔1分〕]20. 广度遍历生成树描述了从起点到各顶点的最短路径.〔〕[合肥工业大学 2001 二、8 〔1分〕]21.任何无向图都存在生成树.〔〕[邮电大学 2000 一、1 〔1分〕]22. 不同的求最小生成树的方法最后得到的生成树是相同的.〔〕[南京理工大学 1998二、3 〔2分〕]23.带权无向图的最小生成树必是唯一的.〔〕[南京航空航天大学 1996 六、7 〔1分〕] 24. 最小代价生成树是唯一的.〔〕[##大学 2001 一、5 〔1分〕]25.一个网〔带权图〕都有唯一的最小生成树.〔〕[大连海事大学 2001 一、14 〔1分〕]26.连通图上各边权值均不相同,则该图的最小生成树是唯一的.〔〕[哈尔滨工业大学1999 三、3]27.带权的连通无向图的最小〔代价〕生成树〔支撑树〕是唯一的.〔〕[中山大学 1994一、10〔2分〕]28. 最小生成树的KRUSKAL算法是一种贪心法〔GREEDY〕.〔〕[华南理工大学 2002 一、6〔1分〕]29. 求最小生成树的普里姆<Prim>算法中边上的权可正可负.〔〕[南京理工大学 1998二、2 〔2分〕]30.带权的连通无向图的最小代价生成树是唯一的.〔〕[东南大学 2001 一、5〔1分〕] 31. 最小生成树问题是构造连通网的最小代价生成树.〔〕[青岛大学 2001 四、10〔1分〕]32. 在图G的最小生成树G1中,可能会有某条边的权值超过未选边的权值.〔〕[合肥工业大学 2000 二、7〔1分〕]33. 在用Floyd 算法求解各顶点的最短路径时,每个表示两点间路径的path k-1[I,J]一定是path k [I,J]的子集<k=1,2,3,…,n>.〔〕[合肥工业大学 2000 二、6 〔1分〕]34.拓扑排序算法把一个无向图中的顶点排成一个有序序列.〔〕[南京航空航天大学1995五、8〔1分〕]35.拓扑排序算法仅能适用于有向无环图.〔〕[南京航空航天大学 1997 一、7 〔1分〕] 36. 无环有向图才能进行拓扑排序.〔〕[青岛大学 2002 一、7 〔1分〕2001 一、8 〔1分〕]37. 有环图也能进行拓扑排序.〔〕[青岛大学 2000 四、6 〔1分〕]38.拓扑排序的有向图中,最多存在一条环路.〔〕[大连海事大学 2001 一、6〔1分〕] 39.任何有向图的结点都可以排成拓扑排序,而且拓扑序列不唯一.〔〕[##交通大学1998一、13]40. 既使有向无环图的拓扑序列唯一,也不能唯一确定该图.〔〕[合肥工业大学 2001二、6〔1分〕]41.若一个有向图的邻接矩阵对角线以下元素均为零,则该图的拓扑有序序列必定存在.〔〕[中科院软件所 1997 一、5 〔1分〕]42.AOV网的含义是以边表示活动的网.〔〕[南京航空航天大学 1995 五、7 〔1分〕] 43.对一个AOV网,从源点到终点的路径最长的路径称作关键路径.[南京航空航天大学1995五、9<1分〕]44. 关键路径是AOE网中从源点到终点的最长路径.〔〕[青岛大学 2000 四、10〔1分〕]45. AOE网一定是有向无环图.〔〕[青岛大学 2001 一、9 〔1分〕]46. 在表示某工程的AOE网中,加速其关键路径上的任意关键活动均可缩短整个工程的完成时间.〔〕[长沙铁道学院 1997 一、2 <1分>]47.在AOE图中,关键路径上某个活动的时间缩短,整个工程的时间也就必定缩短.〔〕[大连海事大学 2001 一、15 〔1分〕]48.在AOE图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少.〔〕[大连海事大学 2001 一、16 〔1分〕]49.当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径.[##交通大学1998 一、14]三、填空题1.判断一个无向图是一棵树的条件是______.2.有向图G的强连通分量是指______.[科技大学 1997 一、7]3.一个连通图的______是一个极小连通子图.[重庆大学 2000 一、1]4.具有10个顶点的无向图,边的总数最多为______.[华中理工大学 2000 一、7 〔1分〕] 5.若用n表示图中顶点数目,则有_______条边的无向图成为完全图.[燕山大学1998 一、6〔1分〕]6. 设无向图 G 有n 个顶点和e 条边,每个顶点Vi 的度为di〔1<=i<=n〉,则e=______[福州大学 1998 二、2 <2分>]7.G是一个非连通无向图,共有28条边,则该图至少有______个顶点.[西安电子科技大 2001软件一、8 〔2分〕]8. 在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要______条弧.[合肥工业大学 2000 三、8 〔2分〕]9.在有n个顶点的有向图中,每个顶点的度最大可达______.[武汉大学 2000 一、3] 10.设G为具有N个顶点的无向连通图,则G中至少有______条边.[长沙铁道学院 1997 二、2 <2分>]11.n个顶点的连通无向图,其边的条数至少为______.[哈尔滨工业大学 2000 二、2〔1分〕] 12.如果含n个顶点的图形形成一个环,则它有______棵生成树.[西安电子科技大学 2001软件一、2 〔2分〕]13.N个顶点的连通图的生成树含有______条边.[中山大学 1998 一、9 〔1分〕]14.构造n个结点的强连通图,至少有______条弧.[轻工业学院 2000 一、4〔2分〕] 15.有N个顶点的有向图,至少需要量______条弧才能保证是连通的.[西南交通大学 2000 一、3]16.右图中的强连通分量的个数为〔〕个.[邮电大学 2001 二、5 〔2分〕]17.N个顶点的连通图用邻接矩阵表示时,该矩阵至少有_______个非零元素.[中科院计算所1998 一、6〔1分〕][中国科技大学1998 一、6〔15/6分〕]18.在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的______;对于有向图来说等于该顶点的______.[燕山大学 2001 二、5 〔3分〕]19. 在有向图的邻接矩阵表示中,计算第I个顶点入度的方法是______.[青岛大学 2002三、7 〔2分〕]20. 对于一个具有n个顶点e条边的无向图的邻接表的表示,则表头向量大小为______,邻接表的边结点个数为______.[青岛大学 2002 三、8 〔2分〕]21. 遍历图的过程实质上是______,breath-first search遍历图的时间复杂度______;depth-first search遍历图的时间复杂度______,两者不同之处在于______,反映在数据结构上的差别是______.[厦门大学1999一、3]22. 已知一无向图G=〔V,E〕,其中V={a,b,c,d,e } E={<a,b>,<a,d>,<a,c>,<d,c>,<b,e>}现用某一种图遍历方法从顶点a开始遍历图,得到的序列为abecd,则采用的是______遍历方法.[南京理工大学 1996 二、2 〔2分〕]23. 一无向图G〔V,E〕,其中V〔G〕={1,2,3,4,5,6,7},E〔G〕={〔1,2〕,<1,3〕,〔2,4〕,〔2,5〕,〔3,6〕,〔3,7〕,〔6,7〕〔5,1〕},对该图从顶点3开始进行遍历,去掉遍历中未走过的边,得一生成树G’<V,E’〕,V〔G’〕=V〔G〕,E〔G’〕={〔1,3〕,〔3,6〕,〔7,3〕,〔1,2〕,〔1,5〕,〔2,4〕},则采用的遍历方法是______.[南京理工大学 1997 三、6 〔1分〕]24. 为了实现图的广度优先搜索,除了一个标志数组标志已访问的图的结点外,还需______存放被访问的结点以实现遍历.[南京理工大学 1999 二、9 〔2分〕]25. 按下图所示,画出它的广度优先生成树______和深度优先生成树______.[西安电子科技大学 1998 三、6 〔5分〕]26.构造连通网最小生成树的两个典型算法是______.[科技大学 1998 一、5]27.求图的最小生成树有两种算法,______算法适合于求稀疏图的最小生成树.[南京理工大学 2001 二、6〔2分〕]28. Prim〔普里姆〕算法适用于求______的网的最小生成树;kruskal〔克鲁斯卡尔〕算法适用于求______的网的最小生成树.[厦门大学1999 一、4]29.克鲁斯卡尔算法的时间复杂度为______,它对______图较为适合.[中科院计算所 1999 二、3 〔2分〕]30.对于含N个顶点E条边的无向连通图,利用Prim算法生成最小代价生成树其时间复杂度为______,利用Kruskal算法生成最小代价生成树其时间复杂度为______.[长沙铁道学院1998 二、2 <4分>]31.下面描述的是一种构造最小生成树算法的基本思想.设要处理的无向图包括n个节点V1,V2,...,Vn,用相邻矩阵A表示,边的权全是正数.请在下列划线处填上正确叙述. 〔1〕.若〔Vi,Vj〕是边,则A〔i,j〕的值等于______,若〔Vi,Vj〕不是边,则A〔i,j〕的值是一个比任何边的权______, 矩阵的对角线元素全为0.〔2〕.构造最小生成树过程中,若节点Vi已包括进生成树,就把相邻矩阵的对角线元素A 〔i,i〕置成______,若〔Vi,Vj〕已包括进生成树,就把矩阵元素A〔i,j〕置成______. 〔3〕.算法结束时,相邻矩阵中_____的元素指出最小生成树的_____.[##工业大学1998二、4<6分〕]32. 有一个用于n个顶点连通带权无向图的算法描述如下:〔1〕.设集合T1与T2,初始均为空;〔2〕.在连通图上任选一点加入T1;〔3〕.以下步骤重复n-1次:a.在i属于T1,j不属于T1的边中选最小权的边;b.该边加入T2.上述算法完成后,T2中共有______条边,该算法称______算法,T2中的边构成图的______.[南京理工大学 1999 二、7 〔4分〕]33. 有向图G可拓扑排序的判别条件是______.[长沙铁道学院 1998 二、9<2分>]34. Dijkstra最短路径算法从源点到其余各顶点的最短路径的路径长度按______次序依次产生,该算法弧上的权出现______情况时,不能正确产生最短路径.[南京理工大学 1999 二、8〔4分〕]35. 求从某源点到其余各顶点的Dijkstra算法在图的顶点数为10,用邻接矩阵表示图时计算时间约为10ms,则在图的顶点数为40,计算时间约为______ms.[南京理工大学 2000 二、3 〔1.5分〕]36.求最短路径的Dijkstra算法的时间复杂度为______.[哈尔滨工业大学 2001 一、5 〔2分〕]37.有向图G=<V,E>,其中 V<G>={0,1,2,3,4,5},用<a,b,d>三元组表示弧<a,b>与弧上的权d.E<G>为{<0,5,100>,<0,2,10><1,2,5><0,4,30><4,5,60><3,5,10><2,3,50><4,3,20>},则从源点0到顶点3的最短路径长度是______,经过的中间顶点是______.[南京理工大学 1998三、6 〔4分〕]38. 上面的图去掉有向弧看成无向图则对应的最小生成树的边权之和为______.[南京理工大学 1998 三、7〔4分〕]39.设有向图有n个顶点和e条边,进行拓扑排序时,总的计算时间为______.[西安电子科技大学 1999软件一、7 〔2分〕][武汉大学 2000 一、7] 40.AOV网中,结点表示______,边表示______.AOE网中,结点表示______,边表示______.[理工大学 2001 七、3 〔2分〕]41.在AOE网中,从源点到汇点路径上各活动时间总和最长的路径称为______.[重庆大学2000一、2]42.在 AOV网中,存在环意味着______,这是______的;对程序的数据流图来说,它表明存在______.[厦门大学1999一、2]43. 当一个AOV网用邻接表表示时,可按下列方法进行拓扑排序.〔1〕.查邻接表中入度为______的顶点,并进栈;〔2〕.若栈不空,则①输出栈顶元素Vj,并退栈;②查Vj的直接后继Vk,对Vk入度处理,处理方法是______;〔3〕.若栈空时,输出顶点数小于图的顶点数,说明有______,否则拓扑排序完成.[南京理工大学 1996 二、3 〔6分〕]44.已知图的邻接表结构为:CONST vtxnum={图的顶点数}TYPE vtxptr=1..vtxnum;arcptr=^arode;arode=RECORD adjvex:vtxptr; nextarc:arcptr END;vexnode=RECORD vexdata:{和顶点相关的信息};firstarc:arcptr END;adjlist=ARRAY[vtxptr]OF vexnode;本算法是实现图的深度优先遍历的非递归算法.其中,使用一个顺序栈stack.栈顶指针为top.visited为标志数组.PROC dfs<g:adjlist;v0:vtxptr>;top=0; write<v0>; visited[v0]:=ture; p:=g[v0].firstarc;WHILE <top<>0>OR<p<>NIL>DO[WHILE<1>_______DO[v:=p^.adjvex;IF<2>_______ THEN p:=p^.nextarcELSE [write<v>; visited[v]:=true; top:=top+1; stack[top]:=p;<3>_______] ]IF top<>0 THEN[p:=stack[top]; top:=top-1; <4>_______]]ENDP.同济大学 2000 二、2 <10分>]45.下面的算法完成图的深度优先遍历,请填空.PROGRAM graph_traver;CONST nl=max_node_number;TYPE vtxptr=1..nl; vtxptr0=0..nl;arcptr=^arode;arode=RECORD vexi ,vexj: vtxptr; nexti, nextj: arcptr; END;;vexnode=RECORD vexdata: char; firstin,firstout: arcptr; END;graph=ARRAY[vtxptr0] OF vexnode ;VAR ga:graph; n: integer;visited: ARRAY[vtxptr0] OF boolean ;FUNC order <g: graph; v: char>: vtxptr;<1>_______; i:=n;WHILE g[i].vexdata<>v DO i:=i-1;order:=i;ENDF;PROC creat<var g: graph>;readln<n,e>;FOR i:= 1 TO n DO [readln<g[i].vexdata>; g[i].firstin :=NIL ;g[i].firstout:=NIL;]FOR k:= 1 TO e DO [readln <vt,vh>;i:=order <g,vt>; j:=order <g,vh>; new <p>; p^.vexi:=i ; p^.vexj:=j p^.nextj:= ____<2>____; ___<3>____ :=p;p^.nexti:=: ____<4>____; ___<5>____ :=p;]ENDP;FUNC firstadj<g:graph; v:char>: vtxptr0;i:=order<g,v>; p:=g[i].firstout;IF p<>NIL THEN firstadj:=<6>_______ELSE firstadj:=0;ENDF;FUNC nextadj<g:graph; v:char; w:char>: vtxptr0;i:=order<g,v>; j:=order<g,w>; p:=<7>_______;WHILE<p<>NIL > AND <p^.vexj<>j> DO<8>______;IF <9>______AND<10>______THEN nextadj:=p^.nexti^.vexj ELSE nextadj:=0;ENDF;PROC dfs<g:graph; v0:char>;write<v0:2>; visited[order<g,v0>]:=true; w:=<11>_______;WHILE w<>0 DO[IF <12>______ THEN dfs<g,g[w].vexdata>;w:=<13>_______;]ENDP;PROC traver<g:graph>;FOR i:=1 TO n DO visited[i]:=false;FOR i:=1 TO n DO IF NOT visited[i] THEN dfs<g,g[i].vexdata>;ENDP;BEGINcreat<ga>; traver<ga>;END. [北方交通大学 1999 三〔20分〕]46.n个顶点的有向图用邻接矩阵array表示,下面是其拓扑排序算法,试补充完整.注:〔1〕.图的顶点号从 0开始计;〔2〕.indegree 是有n个分量的一维数组,放顶点的入度;〔3〕.函数 crein 用于算顶点入度;〔4〕.有三个函数push<data>,pop< >,check< >其含义为数据 data进栈,退栈和测试栈是否空〔不空返回1,否则0〕.crein< array ,indegree,n>{ for <i=0;i<n;i++> indegree[i]= <<1>_______>for<i=0,i<n;i++>for <j=0;j<n; j++> indegree[i]+=array[<2>_______][<3>_______];}topsort <array,indegree,n>{ count= <<4>_______>for <i=0;i<n;i++> if <<5>_______> push<i>while <check< >>{ vex=pop< >; printf<vex>; count++;for <i=0;i<n;i++>{ k=array<6>_______if <<7>_______ > { indegree[i]--; if <<8>_______ > push<i>; }}}if< count<n> printf<""图有回路〞>;} [南京理工大学 2000 三、4 〔6分〕]47.假设给定的有向图是用邻接表表示,作为输入的是图中顶点个数n和边的个数m, 以与图的m条边.在下面的程序中,我们用readdata程序过程输入图的信息,并建立该图的邻接表;利用topol程序过程获得图中顶点的一个拓扑序列.PROGRAM topol_order<input , output> ;CONST maxn=20 ;TYPE nodeptr=^nltype ;nltype=RECORD num : integer ; link : nodeptr END ;chtype=RECORD count : integer ; head : nodeptr END ;VAR ch : ARRAY [1 .. maxn] OF chtype ; m , n , top : integer ;PROCEDURE readdata ;VAR i , j , u , v : integer ; p : nodeptr ;BEGINwrite <′input vertex number n= ′>; readln <n> ;write <′input edge number m= ′>; readln<m> ;FOR i:=1 TO n DO BEGIN ch[i].count:= 0; ch[i].head:=NIL END;writeln<′input edges :′>;FOR j:= 1 TO m DOBEGIN write< j :3 , ′: ′> ; readln< u , v > ; new< p > ;ch[v].count:=ch[v].count+1; p^.num:=v; <1> ___ ; <2> __; ENDEND ;PROCEDURE topol ;VAR i, j, k: integer; t: nodeptr ;BEGINtop:= 0 ;FOR i := 1 TO n DOIF ch[i].count=0 THEN BEGIN ch[i].count := top ;top := i END;i:= 0 ;WHILE <3> ___ DOBEGIN <4> __; <5> __ ; write<j : 5> ;i:= i + 1 ;t:=ch[j].head ;WHILE t<>NIL DOBEGIN k := t^.num ; ch[k].count:=ch[k].count–1 ;IF ch[k].count=0 THEN BEGIN ch[k].count:=top; top:=k END;<6> ______ ; ENDEND ; writeln;IF i<n THEN writeln <′the network has a cycle!′>END;BEGINreaddata ; writeln <′output topol order : ′>; topolEND. [复旦大学 1995 三〔18分〕]48.如下为拓扑排序的C程序, Array〔1〕.列出对右图执行该程序后的输出结果.〔2〕.在程序空白处填上适当语句.void topsort<hdnodes graph [],int n>{int i,j,k,top; node_pointer ptr ;top=-1;for <i=0; i<n; i++>if <!graph[i].count>{graph[i].count=top; top=i; }for <i=0; i<n; i++>if<1>____ {fprintf<stderr, "\ngraph has a cycle \n">; exit<1>; } else {j=top;<2>_____; printf< "v%d, " ,j> ;for <ptr=graph[j].link; ptr; ptr=ptr->link>{k=ptr->vertex; graph[k].count--;if<<3>_____> {graph[k].count=top; top=k; } } }} [##大学 2000 六<15分>]四、应用题1.〔1〕.如果G1是一个具有n个顶点的连通无向图,那么G1最多有多少条边?G1最少有多少条边?〔2〕.如果G2是一个具有n个顶点的强连通有向图,那么G2最多有多少条边?G2最少有多少条边?〔3〕.如果G3是一个具有n个顶点的弱连通有向图,那么G3最多有多少条边?G3最少有多少条边?[复旦大学 1997 一〔9分〕]2.n个顶点的无向连通图最少有多少条边?n个顶点的有向连通图最少有多少条边?[##大学 2000 一、3 <4分>]3.一个二部图的邻接矩阵A是一个什么类型的矩阵?[科技大学 1999 一、8〔2分〕] 4.证明:具有n个顶点和多于n-1条边的无向连通图G一定不是树.[东南大学 1993 四〔10分〕]5.证明对有向图的顶点适当的编号,可使其邻接矩阵为下三角形且主对角线为全0的充要条件是该图为无环图.[邮电大学 2002 三〔10分〕]6.用邻接矩阵表示图时,矩阵元素的个数与顶点个数是否相关?与边的条数是否有关?[西安电子科技大学 2000计应用一、6〔5分〕]7.请回答下列关于图<Graph>的一些问题:〔每题4分〕〔1〕.有n个顶点的有向强连通图最多有多少条边?最少有多少条边?〔2〕.表示有1000个顶点、l000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀疏矩阵?〔3〕.对于一个有向图,不用拓扑排序,如何判断图中是否存在环?[清华大学2000一<12分〕]8.解答问题.设有数据逻辑结构为:B = <K, R>, K = {k1, k2, …, k9}R={<k1, k3>, <k1, k8>, <k2, k3>,<k2, k4>, <k2, k5>, <k3, k9>,<k5, k6>, <k8, k9>, <k9, k7>, <k4, k7>, <k4, k6>}〔1〕.画出这个逻辑结构的图示.〔3分〕〔2〕.相对于关系r, 指出所有的开始接点和终端结点.〔2分〕〔3〕.分别对关系r中的开始结点,举出一个拓扑序列的例子.〔4分〕〔4〕.分别画出该逻辑结构的正向邻接表和逆向邻接表.〔6分〕[##工业大学 1999 三〔15分〕]9.有向图的邻接表存储如下:〔1〕.画出其邻接矩阵存储;〔2〕.写出图的所有强连通分量;〔3〕.写出顶点a到顶点i的全部简单路径.[东北大学 1997 一、5 <5分>]10.试用下列三种表示法画出网G 的存储结构,并评述这三种表示法的优、缺点:〔1〕.邻接矩阵表示法; 〔2〕.邻接表表示法; 〔3〕.其它表示法.[华中理工大学2000 三〔12分〕]11.已知无向图G,V〔G〕={1,2,3,4},E〔G〕={〔1,2〕,〔1,3〕,〔2,3〕,〔2,4〕,〔3,4〕}试画出G的邻接多表,并说明,若已知点I,如何根据邻接多表找到与I相邻的点j?[东南大学 1994 一、2 〔8分〕 1998 一、6〔8分〕]12.如何对有向图中的顶点号重新安排可使得该图的邻接矩阵中所有的1都集中到对角线以上?[清华大学 1999 一、5 〔2分〕]13.假定G=〔V,E〕是有向图,V={1,2,...,N},N>=1,G以邻接矩阵方式存储,G的邻接矩阵为A,即A是一个二维数组,如果i到j有边,则A[i,j]=1,否则A[i,j]=0,请给出一个算法,该算法能判断G是否是非循环图〔即G中是否存在回路〕,要求算法的时间复杂性为O<n*n>.[##大学 1998 三<16分>]。

《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题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.数据的物理结构被分为_________、________、__________和___________四种。

2023年数据结构模拟考试及答案

2023年数据结构模拟考试及答案

数据结构模拟考试(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 100分)1、一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A、「log2n」+1B、log2n+1C、「log2n」D、log2n-12、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为A、O(n)B、O(0)C、O(1)D、O(n^2)3、一个顺序栈S,空栈时top的初始值为0,其栈顶指针为top,则将元素e入栈的操作是( )。

A、*S->top=e;S->top++;B、S->top++;*S->top=e;C、*S->top=eD、S->top=e;4、下列几种排序方法中要求辅助空间最大的是( )A、堆排序B、直接选择排序C、归并排序D、快速排序5、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,冒泡排序(大数下沉)的第一趟排序结果应为A、{B,F,C,J,A,E,D,I,C,H}B、{C,B,D,A,E,F,I,C,J,H}C、{B,F,C,E,A,I,D,C,H,J}D、{A,B,D,C,E,F,I,J,C,H}6、对含有 10 个数据元素的有序查找表执行折半查找,当查找失败时,至少需要比较( )次。

A、2B、3C、4D、57、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。

A、r-fB、(n+f-r)%nC、n+r-fD、(n+r-f)%n8、若长度为 n 的线性表采用顺序存储结构,访问其第 i 个元素的算法时间复杂度为()A、0 ( 1 )B、0 ( n )C、0 ( n2 )D、0 ( log2n )9、(6分)若希望1000个无序元素中尽快求得前10个最大元素,应借用(A)。

国家二级C++机试(数据结构与算法)模拟试卷7(题后含答案及解析)

国家二级C++机试(数据结构与算法)模拟试卷7(题后含答案及解析)

国家二级C++机试(数据结构与算法)模拟试卷7(题后含答案及解析)题型有:1. 选择题选择题1.下列叙述中正确的是( )。

A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.循环队列中的元素个数不会变化正确答案:A解析:所谓循环结构就是将队列存储空间的最后一个位置绕到第一个位置上,形成逻辑上的环状空间,循环使用。

在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针from指向队头元素的前一个位置,因此,队列中的元素数等于从队头指针舶nt指向的后一个位置与队尾指针rear指向位置之间的元素数量。

知识模块:数据结构与算法2.下列关于线性链表的叙述中,正确的是( )。

A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上都不正确正确答案:C解析:线性表的链式存储结构称为线性链表。

在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

知识模块:数据结构与算法3.下列叙述中正确的是( )。

A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D.以上都不正确正确答案:C解析:线性表的存储分为顺序存储和链式存储。

在顺序存储中,所有元素所占的存储空间是连续的。

而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。

所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。

数据结构模考试题及答案

数据结构模考试题及答案

数据结构模考试题及答案一、单选题(共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的完全二叉树中最少有()个结点。

东南大学十套数据结构试题及答案

东南大学十套数据结构试题及答案

数据构造试卷〔一〕三、计算题〔每题6 分,共24分〕1.在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。

A 0 1 2 3 4 5 6 7data 60 50 78 90 34 40next 3 5 7 2 0 4 12.请画出以下列图的邻接矩阵和邻接表。

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->next) p=p->next;S2:p->next=q;q->next=NULL;}return L;}请答复以下问题:〔1〕说明语句S1的功能;〔2〕说明语句组S2的功能;〔3〕设链表表示的线性表为〔a1,a2, …,a n〕,写出算法执行后的返回值所表示的线性表。

2.void ABC(BTNode * BT){if BT {ABC (BT->left);ABC (BT->right);cout<<BT->data<<' ';}}该算法的功能是:五、算法填空〔共8分〕二叉搜索树的查找——递归算法:bool Find(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);}//if}六、编写算法〔共8分〕统计出单链表HL中结点的值等于给定值X的结点数。

(完整版)数据结构试题及答案

(完整版)数据结构试题及答案

数据结构试卷(一)王彬一、单选题(每题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,其数量级表示为________。

计算机专业基础综合(数据结构)模拟试卷7

计算机专业基础综合(数据结构)模拟试卷7

计算机专业基础综合(数据结构)模拟试卷7(总分:110.00,做题时间:90分钟)一、单项选择题(总题数:31,分数:62.00)1.单项选择题1-40小题。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

__________________________________________________________________________________________ 解析:2.下面给出的4种排序方法中,( )排序法是不稳定性排序法。

(分数:2.00)A.插入B.冒泡C.二路归并D.堆√解析:解析:此题考查的知识点是排序算法的稳定性问题。

如果待排序的文件中,存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,则称这种排序是稳定的排序;反之,若具有相同关键字的记录之间的相对次序发生变化,则称这种排序是不稳定的排序。

是否稳定与算法有关,相邻数据比较的算法是稳定的,不相邻数据比较会出现不稳定。

选项A、B、C都是相邻元素比较,是稳定的。

所以选D。

3.下列内部排序算法中,其比较次数(或交换次数)与序列初态无关的算法是( )。

(分数:2.00)A.快速排序B.直接插入排序C.二路归并排序√D.冒泡排序解析:解析:此题考查的知识点是各类排序算法的思想。

冒泡排序方法就是自底向上检查这个序列,若两个相邻的元素的顺序不对,则交换。

直到所有元素处理完为止。

与序列初态有关,D错。

直接插入排序思想是假设待排序的记录存放在数组R[n+1]中,排序过程中的某一时刻,R被分成两个子区间[R[1],R[i一1/]/]和[R[i],R[n/]/],其中,前一个子区间是已排好序的有序区;后一个子区间是当前未排序的无序区。

直接插入排序的基本操作是将当前无序区的第i个记录R[i]插入到有序区中的适当位置,使得R[1]到R[i]变为新的有序区。

首先比较R[i]和R[i一1],如果R[i一1]≤R[i],则R[1..i]已排好序,第i遍处理就结束了:否则交换R[i]与R[i一1]的位置,继续比较R[i—1]和R[i一2],直到找到某一个位置j(1≤j≤i 一1)使得R[j]≤R[j+1]时为止。

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共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中()。

大学数据结构习题7

大学数据结构习题7

数据结构习题7树和二叉树一、判断题1. 树结构中每个结点最多只有一个直接前驱。

(√)2. 完全二叉树一定是满二叉树。

(×)3. 在中序线索二叉树中,右线索若不为空,则一定指向其双亲。

(×)4. 一棵二叉树中序遍历序列的最后一个结点,必定是该二叉树前序遍历的最后一个结点。

(√)5. 二叉树的前序遍历中,任意一个结点均处于其子女结点的前面。

(√)6. 由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。

(√)7. 在完全二叉树中,若一个结点没有左孩子,则它必然是叶子结点。

(√)8. 在哈夫曼编码中,当两个字符出现的频率相同,其编码也相同,对于这种情况应该做特殊处理。

(×)9. 含多于两棵树的森林转换的二叉树,其根结点一定无右孩子。

(×)10. 具有n个叶子结点的哈夫曼树共有2n-1个结点。

(√)二、填空题1. 在树中,一个结点所拥有的子树数称为该结点的度。

2. 度为零的结点称为叶(或叶子,或终端)结点。

3. 树中结点的最大层次称为树的深度(或高度)。

4. 对于二叉树来说,第i层上至多有 2i-1个结点。

5. 深度为h的二叉树至多有 2h-1 个结点。

6. 由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树。

7. 有20个结点的完全二叉树,编号为10的结点的父结点的编号是 5 。

8. 哈夫曼树是带权路径长度的最小的二叉树。

9. 由二叉树的后序和中序遍历序列,可以唯一确定一棵二叉树。

10. 某二叉树的中序遍历序列为:DEBAC,后序遍历序列为:EBCAD。

则前序遍历序列为 DABEC 。

11. 设一棵二叉树结点的先序遍历序历为:ABDECFGH,中序遍历序历为:DEBAFCHG,则二叉树中叶结点是: E、F、H 。

12. 已知完全二叉树的第8层有8个结点,则其叶结点数是 68 。

13. 由树转换二叉树时,其根结点无右子树。

14. 采用二叉链表存储的n个结点的二叉树,一共有 2n 个指针域。

数据结构模拟试题7

数据结构模拟试题7

数据结构模拟试题(七)本试卷分两部分,第一部分为选择题,第二部分为非选择题;选择题20分,非选择题80分,满分 100分。

考试时间 150分钟。

第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要来的,请将正确选项前的字母放在题后的括号内。

1.每一个存储节点只含有一个数据元素,数据元素按散列函数确定存储位置的存储方式是【】A.顺序存储B.链式存储C.索引存储D.散列存储2.算法分析的两个主要方面是【】A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性3.顺序表中逻辑上相邻的节点其物理位置也【】A.一定相邻B.不必相邻C.按某种规律排列D.无要求4.非空的循环单链表head的尾节点(由p所指向)满足【】A. p->next=NULL B. p=NULLC. P->next=head D. P=head5.在一个链队中,假设f和r 分别为队首和队尾指针,则删除一个节点的运算是【】A.r=f->next; B.r=r->next;C.f=f->next; D.f=r->next;6.判定一个顺序栈(最多元素为 m个)为空的条件是【】A.top==0 B.top==mC.top! =0 D.top! =m7.设有两个串(s1和 s2),求引在s1和s2中首次出现的位置的运算称为【】A.连接B.模式匹配C.求子串D.求串长8.设 s3=”I AM”,则 strcnr(s3,””)的返回值是【】A.4 B.1 C.2 D.39.二维数组M的成员是 6个字符(每个字符占一个存储单元)组成的串,行下标 i的范围从0到4,列下标i的范从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时__________起始地址相同【】A.M[2][4] B.M[3][4]C.M[3][5] D.M[4][4]10.广义表((a)) ,其表头是【】A.a B.(a) C.() D.((a))11.某二叉树的前序序列和后序序列正好相反,则该二叉树一定是【】A.空或只有一个节点 B.高度等于其节点数c.任一节点无左孩子 D.任一节点无右孩子12.二叉树在线索化后,仍不能有效求解的问题是【】A.前序线索二叉树中求前序后继B.中序线索二叉树中求中序后继C.中序线索二叉树中求中序前趋D.后序线索二叉树中求后序后继13.某二又树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则前序序列遍历为【】A.ACBED B.DECAB C.DEABC D.CEDBA14.采用邻接表存储的图的深度忧无遍历类似于二叉树的【】A.先序遍历B.中序遍历C.后序遍历D.层次遍历15.快速排序在_________情况下最易发挥其长处【】A.被排序的数据中含有多个相同排序码B.被排序的数据已基本有序C.被排序的数据完全无序D.被排序的数据中的最大值和最小值相差悬殊16.下述几种排序方法中,平均查找长度最小的是【】A.插入排序B.快速排序C.归并排序D.选择排序17.m阶B-树中所有非终端(除根之外)节点中的关键字个数必须大于或等于【】A.[m/2]-1 B.[m/2]+ lC.[m/2]-1 D.m18.采用Th分查找方法查找长度为n的线性表时,每个元素的平均查找长度为【】A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)19.VSAM是虚拟存储存取方法,该方法适于_______存取。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟试卷四
一、单选题(每题 2 分,共20分)
1.以下数据结构中哪一个是线性结构?( B )
A. 有向图
B. 栈
C. 二叉树
D. B树
2.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采
用( C )存储方式最节省时间。

A.单链表
B.双链表
C.带头结点的双循环链表
D.单循环链表
以下3-5题基于下面的叙述:若某二叉树结点的中序遍历的序列为A、B、C、D、E、
F、G,后序遍历的序列为B、D、C、A、F、
G、E。

3.则该二叉树结点的前序遍历的序列为( C ).
A. E、G、F、A、C、D、B
B. E、A、G、C、F、B、D
C. E、A、C、B、D、G、F
D. E、G、A、C、D、F、B
4.该二叉树有(A )个叶子。

A.3 B.2 C.5 D.4
5.该二叉树的按层遍历的序列为( C )
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. E、G、A、C、D、F、B
6.下面的二叉树中,( C )不是完全二叉树。

7.设有关键码序列(q,g,m,z,a),下面哪一个序列是从上述序列出发建的小根堆的结
果?( B )
A. a,g,m,q, z
B. a,g,m,z,q
C. g,m,q,a,z
D. g, m, a,q,z
二、填空题(每空1分,共26分)
1.数据结构是指数据及其相互之间的______________。

当结点之间存在1对N(1:N)
的联系时,称这种结构为_____________________。

2.一个广义表中的元素分为________元素和________元素两类。

3.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_________,
在表尾插入元素的时间复杂度为____________。

4.向一个由HS指向的链栈中插入一个结点时p时,需要执行的操作是_________________;
删除一个结点时,需要执行的操作是___________________________(假设栈不空而且无需回收被删除结点)。

5.栈又称为_______________表,队列又称为___________表。

6.在稀疏矩阵所对应的三元组线性表中,每个三元组元素按_________为主序、_________
为辅序的次序排列。

7.若一棵二叉树中只有叶子结点和左、右子树皆非空的结点,设叶结点的个数为K,则左、
右子树皆非空的结点个数是________。

8.以折半(或二分)查找方法从长度为8的有序表中查找一个元素时,平均查找长度为
________。

9.表示图的三种常用的存储结构为_____________、____________和_______________。

10.对于线性表(78,4,56,30,65)进行散列存储时,若选用H(K)=K %5作为散列
函数,则散列地址为0的元素有________个,散列地址为4的有_______个。

11.在归并排序中,进行每趟归并的时间复杂度为______,整个排序过程的时间复杂度为
____________,空间复杂度为___________。

12. 在n 个带权叶子结点构造出的所有二叉树中,带权路径长度最小的二叉树称为
________。

WPL 称为_____________________。

13. 在索引表中,若一个索引项对应主表的一个记录,则此索引为__________索引 ,若对
应主表的若干条记录,则称此索引为________索引。

三、 运算题(每题 6 分,共24分)
1. 写出下列中缀表达式的后缀形式:
(1) 3X/(Y-2H)+1
(2) 2+X*(Y+3)
2. 假定一棵二叉树广义表表示为a(b(c),d(e,f)),分别写出对它进行先序、中序、后序、按
层遍历的结果。

先序:
中序:
后序:
按层:
3. 已知一个无向图的顶点集为{a, b, c, d, e} ,其邻接矩阵如下所示
0100110010000110110110110⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦
⎥⎥⎥⎥⎥⎥ (1) 画出该图的图形;
(2)根据邻接矩阵从顶点a 出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。

4. 已知一个图的顶点集V 和边集E 分别为:
V={0,1,2,3,4,5,6,7};
E={(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13,(3,5)9,(3,6)10, (4,6)4,(5,7)20};
按照普里姆算法从顶点0出发得到最小生成树,试写出在最小生成树中依次得到的各条边。

四、 阅读算法(每题7分,共14分)
1. void AE(Stack& S){
InitStack(S);
Push(S,3);
Push(S,4);
int x=Pop(S)+2*Pop(S);
Push(S,x);
int i,a[5]={2,5,8,22,15};
for(i=0;i<5;i++) Push(S,a[i]);
while(!StackEmpty(S)) cout<<Pop(S)<<' ';
}
该算法被调用后得到的输出结果为: 2. int akm ( unsigned m, unsigned n ) {
if ( m == 0 ) return n+1;
else if ( n == 0 ) return akm ( m-1, 1 );
else return akm ( m-1, akm ( m, n-1 ) );
}
该函数执行的功能是什么? a
b
c
d
e
五、算法填空(共8分)
二叉搜索树的查找——非递归算法
bool Find(BTreeNode* BST,ElemType& item)
{while(BST(!=NULL){
if (item==______________){
item=BST->data;//查找成功
return true;}
else if(item<BST->data)
BST=BST->_____________;
else BST=BST->_____________;
}//while
return _____________;//查找失败
}
六、编写算法(共8分)
用递归的算法编写出对存入在a[n+1]数组中的n个有序元素进行二分(又称折半)查找(假定a[0]单元不用)的程序。

int halfsearch(SSTable *a, KeyType k,int low,int high)
模拟试卷四参考答案
一、单选题(每题2分,共20分)
1.B
2.C
3.A
4.B
5.B
6.C
7.A
8.C
9.C 10.B
二、填空题(每空1分,共26分)
1.联系树(或树结构)
2.单(子)表
3.O(n) O(1)
4.p->next=HS;HS=p HS=HS->next
5.先进后出先进先出
6.行列
7.k-1
8. 2.625
9.邻接矩阵邻接表边集数组
10.2 1
11.O(n) O(nlog2n) O(n)
12.哈夫曼树带权路径长度
13.稠密稀疏
三、运算题(每题6分,共24分)
1.(1) 3 X * Y 2 H *- / 1 +
(2) 2 X Y 3 + * +
2.先序:a,b,c,d,e,f
中序: c,b,a,e,d,f
后序: c,b,e,f,d,a
按层:a,b,d,c,e,f
图9
3.(1)该图的图形如图9示:
(2)深度优先遍历序列为:abdce
广度优先遍历序列为:abedc
4.普里姆:(0,3)2, (0,2)5, (0,1)8, (1,5)6, (3,6)10, (6,4)4, (5,7)20
四、阅读算法(每题7分,共14分)
1.15 22 8 5 2 10
2.该函数的功能是:
求:akm m n
n m
akm m m n
akm m akm m n m n (,)(,),
(,(,)),
=
+=
-≠=
--≠≠





10
1100
1100
当时
当时
当时
五、算法填空(共8分,每一空2分)
BST->data left right false
六、编写算法(8分)
递归算法:
int halfsearch(SSTable *a, KeyType k,int low,int high)
{ if (low>high)
return 0;
else {
int mid=(low+high)/2
if EQ(k,a[mid].key) return mid;
else if LT(k,a[mid].key) return halfsearch(a,k,low,mid-1); else return halfsearch(a,k,mid+1,high);
}
}。

相关文档
最新文档