数据结构_3_试题卷
数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。
a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。
2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。
2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。
2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
3. 简答题1) 请简要介绍线性表和非线性表。
答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。
非线性表是指元素之间存在一对多或多对多的关系,如树和图。
2) 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。
空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。
4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。
答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。
数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。
A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。
答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。
答案:队尾、队头11. 二叉树中的节点包括______和______。
答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。
答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。
数据结构模拟题3(无答案)

数据结构模拟题3(无答案)模拟试题3一.选择题1.当初始序列已按健值有序时,用直接插入算法进行排序,需要比较的次数为()A.n-1B.log2nC. 2log2nD.n22.以下时间复杂性不是O(n2)的排序方法是( )A.直接插入排序B.二路归并排序C.冒泡排序D.直接选择排序3..对采用二分查找法进行查找运算的查找表,要求按()方式进行存储。
A.顺序存储 B 链式存储C.顺序存储且结点按关键字有序D.链式存储且结点按关键字有序4.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2B. 3C. 4D. 125.静态查找表与动态查找表两者的根本差别在于( )…………………………………………….A.逻辑结构不同B.存储实现不同C.施加的操作不同D.数据元素的类型不同6.用顺序查找法对具有n个结点的线性表查找的时间复杂性量级为A.O(n2)B. O(nlog2n)C. O(n)D.O(log2n)7.设有6个结点的无向图,该图至少应有()条边能确保是一个连通图。
A. 5B. 6C. 7 D 88.在无向图中,所有顶点的度数之和是所有边数的()倍。
A.0.5B.1C.2D.49.深度为6的二叉树最多有( )个结点.A.64B.63C.32D.3110.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为 ( )A.42B.40C.21D.2011.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是()A.acbedB.deabcC.decabD.cedba12.设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序( )A.都不相同B.完全相同C.先序和中序相同,而与后序不同D.中序和后序相同,而与先序不同13.如果以链表作为栈的存储结构,做退栈操作时( )A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不做任何操作14.链栈与顺序栈相比,有一个比较明显的优点即()A.插入操作更方便B. 通常不会出现栈满的情况C.不会出现栈空的情况D. 删除操作更方便15.线性结构中的一个结点代表一个()A. 数据元素B. 数据项C. 数据D. 数据结构二.填空题1.若待排序的序列中存在多个记录具有相同的键值,经过排序,这些记录的相对次序仍然保持不变,则称这种排序方法是________的,否则称为________的。
《数据结构与算法》试卷与答案3

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每格2分,共20分)1.在双向循环链表中,设指针p指向待删除的结点,则删除结点p需执行的语句为_________________ 。
2.由a, b, c三个结点构成的二叉树,共有种不同的结构。
3.设根结点处在第一层,那么具有n个结点的完全二叉树,其高度为。
4.克鲁斯卡尔的时间复杂度为;它对图较为适合。
5.给定表(55,63,44,38,75,80,31,56),用筛选法建立初始堆,则初始堆表为。
6.已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为。
7.已知8个数据元素由(35,75,40,15,20,55,95,65)按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为8.假设有n个关键字,它们具有相同的Hash函数值,用线性探测方法解决冲突,把这n个关键字散列到大小为n的地址空间中,共计需要做次插入和探测操作。
9.如果含n个顶点的图形成一个环,则它有颗生成树。
10.对有17个元素的有序表A[1..17]作二分查找,在查找其等于A[8]的元素时,被比较的元素的下标依次是。
二、单项选择题(每题1分,共10分)1.()线性表采用链式存储时,其地址是()A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以2.()串的逻辑结构与()的逻辑结构不同A.线性表B.栈C.队列D.树3.()设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为A.3,2,5,6,4,1B.1,5,4,6,2,3C.2,4,3,5,1,6D.4,5,3,6,2,14.()设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占一个存储空间,则a85的地址为A.13B.33C.18D.405.()二叉树在线索化后,仍不能有效求解的问题是A.前(先)序线索二叉树中求前(先)序后继;B.中序线索二叉树中求中序后继;C.中序线索二叉树中求中序前趋;D.后序线索二叉树中求后序后继。
帮你掌握数据结构(第三章系列经典试题及答案)

第3章栈和队列一、填空题(每空1分,共15分)1。
向量、栈和队列都是线性结构,可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。
2。
栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。
不允许插入和删除运算的一端称为栈底。
3。
队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
4。
在一个循环队列中,队首指针指向队首元素的前一个位置。
5。
在具有n个单元的循环队列中,队满时共有n-1 个元素.6. 向栈中压入元素的操作是先存入元素,后移动栈顶指针。
7.从循环队列中删除一个元素时,其操作是先移动队首指针,后取出元素。
8。
〖00年统考题〗带表头结点的空循环双向链表的长度等于0。
解:二、判断正误()(每小题1分,共10分)(×)1。
是一个复杂类型。
错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。
(×)2。
在表结构中最常用的是线性表,栈和队列不太常用。
错,不一定吧?调用子程序或函数常用,CPU中也用队列。
(√)3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表.正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。
( ×)5. 栈和链表是两种不同的数据结构。
错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。
(×)6. 栈和队列是一种非线性数据结构。
错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。
(√)7。
栈和队列的存储方式既可是顺序方式,也可是链接方式。
(√)8。
两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
(×)9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
东南大学十套数据结构试题与答案.docx

数据结构试卷(一)三、算(每6分,共24 分)1. 在如下数 A 中存了一个性表,表指 A [0].next,写出性表。
A01234567data605078903440next35720412.画出下的接矩和接表。
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,a 2, ⋯ ,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 的结点数。
数据结构试卷试题及答案
数据结构试卷试题及答案一、选择题(每题3分,共15分)1. 下列哪种数据结构是线性结构?A. 树B. 图C. 队列D. 堆答案:C2. 在线性表中,插入一个新元素的平均时间复杂度是?A. O(1)B. O(n)C. O(log n)D. O(n^2)答案:B3. 下列哪种排序算法的时间复杂度是O(n^2)?A. 快速排序B. 归并排序C. 插入排序D. 堆排序答案:C4. 在二叉树中,具有n个节点的完全二叉树的高度是?A. nB. log nC. n-1D. log(n+1)答案:D5. 下列哪种图的遍历算法是深度优先遍历?A. DFSB. BFSC. DijkstraD. Prim答案:A二、填空题(每题3分,共15分)1. 线性表是______的线性结构。
答案:n个数据元素2. 在二叉树中,度为0的节点数等于度为2的节点数加______。
答案:13. 快速排序的基本思想是______。
答案:分而治之4. 图的存储结构通常包括______和______。
答案:邻接矩阵、邻接表5. 在哈希表中,解决冲突的方法有______和______。
答案:开放地址法、链地址法三、解答题(每题10分,共50分)1. 请简述线性表的顺序存储结构和链式存储结构的特点。
答案:线性表的顺序存储结构特点是数据元素连续存储,随机访问快,插入和删除操作慢;链式存储结构特点是数据元素不连续存储,随机访问慢,插入和删除操作快。
2. 请用C语言实现一个单链表的插入操作。
答案:```cstruct Node {int data;struct Node next;};void insertNode(struct Node head, int data) {struct Node newNode = (structNode)malloc(sizeof(struct Node));newNode->data = data;newNode->next = head;head = newNode;}```3. 请简述二分查找的算法思想和适用条件。
中国农业大学_821数据结构_《数据结构》习题(3)
第3章栈和队列一、回答题1. 栈和线性表的区别是什么?栈和队列的相同点和不同点是什么?2. 如果进栈的数据元素序列为A、B、C、D,则可能得到的出栈序列有多少种?写出全部可能的序列。
3. 如果进栈的数据元素序列为1、2、3、4、5、6,能否得到4、3、5、6、1、2和1、3、5、4、2、6的出栈序列?并说明为什么不得到或如何得到。
二、填空题1. 线性表、栈和队列都是结构,可以在线性表的位置插入和删除数据元素;对于栈只能在插入和删除数据元素;对于队列只能在插入数据元素和在删除元素。
2. 在一个长度为n的线性表的第i个数据元素(1≤i≤n+1)之前插入一个数据元素时需向后移动个数据元素。
3. 在一个长度为n的线性表中,删除第i个数据元素(1≤i≤n)时需向前移动个数据元素。
4. 向栈中压入数据元素的操作是,从栈中弹出数据元素的操作是。
5. 在一个循环队列中,队头指针指向队首数据元素的,从循环队列中删除一个数据元素的操作是。
6. 在具有n个单元的循环队列中,队满时共有个数据元素(假定每个数据元素占一个单元)。
三、算法题1. 对于一个具有maxsize个单元的循环队列,设计一个算法,输出其中的所有数据元素(假定每个数据元素占一个单元)。
2. 如果用一个循环数组Q[0..num-1]表示队列时,该队列只有一个头指针front,不设队尾指针rear,而改置计数器count用以记录队列中结点的个数。
首先编写实现队列的5个基本运算的算法:InitQueue,EmptyQueue,GetHead,EnQueue,DeQueue;然后试回答:队列中能容纳的元素的最多个数是num-1吗?3. 假设一个算术表达式中包含圆括弧、方括弧和花括弧3种类型的括弧,编写一个判别表达式中括弧是否正确配对的算法。
以字符“#”作为算术表达式的结束符。
4. 某汽车轮渡口,过江渡船每次能载10辆车过江。
过江车辆分为客车类和货车类,上船有如下规定:(1) 同类车先到先上船,客车先于货车上渡船,且每上4辆客车才允许上1辆货车;(2) 若等待客车不足4辆,则以货车代替;若无货车等待,则允许客车都上船。
数据结构试题及答案.docx
数据结构试题及答案.docx数据结构试题及答案⼀、选择题(每⼩题2分,共20分),每个题的备选答案中,只有⼀个是正确的,请将答案填写在试题的括号中。
1、对顺序存储的线性表,设其长度为20,在任何位置上插⼊或删除操作都是等概率的。
插⼊⼀个元素时平均要移动表中的( A )个元素。
A.10 B.9 C.11 D.122、若某线性表中最常⽤的操作是在最后⼀个元素之后插⼊⼀个元素和删除第⼀个元素,则采⽤( D )存储⽅式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表C.双链表 D.仅有尾指针的单循环链表3、当利⽤⼤⼩为n的数组顺序存储⼀个栈时,假定⽤top==n表⽰栈空,则向这个栈插⼊⼀个元素时,⾸先应执⾏( B )语句修改top指针。
A.top++ B.top-- C.top = 0 D.top4、设⼊栈顺序为A,B,C,D,E,则出栈序列不可能是( C )。
A.EDCBA B.ABCDE C.ADEBC D.ABDEC5、已知关键字序列(46, 79, 56, 38, 40, 84),采⽤快速排序(以位于最左位置的关键字为基准)得到的第⼀次划分结果为:( A )A.{ 40, 38, 46, 56, 79, 84 } B.{ 38, 46, 79, 56, 40, 84 }C.{ 38, 46, 56, 79, 40, 84 } D.{ 40, 38, 46, 79, 56, 84 }6、⼀个有n个顶点和n条边的⽆向图⼀定是( C )。
A.不连通的 B.连通的 C.有环的 D.⽆环的7、在⼀棵具有n个结点的⼆叉树的第i层上,最多具有( B )个结点。
A.2i B.2i-1 C.2i+1 D.2n8、对线性表采⽤折半查找法,该线性表必须( B )。
A.采⽤顺序存储结构B.采⽤顺序存储结构,且元素按值有序C.采⽤链式存储结构 D.采⽤链式存储结构,且元素按值有序9、在⼀棵具有n个结点的完全⼆叉树中,分⽀结点的最⼤编号为( C )。
数据结构复习题3
数据结构练习题第一章绪论一.选择题1、在数据结构的讨论中把数据结构从逻辑上分为()。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构2、采用线性链表表示一个向量时,要求占用的存储空间地址()。
A: 必须是连续的 B 部分地址必须是连续的C: 一定是不连续的C: 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。
A: n B: n/2 C: (n-1)/2 D: (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()。
A: s→next = p→next;p→next = s; B: p→next= s; s→next = q;C: p→next = s→next;s→next = p;D: q→next= s;s→next= p;8.下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)9.执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/2二.填空题1.通常,评价一个算法有正确性、健壮性、_________、时间复杂度、空间复杂度五个方面。
2.在数据结构中,数据的逻辑结构有线性结构、图结构、________________、_______________四种,物理实现上有顺序结构、索引结构、___________、_____________四种。
第三章线性表一.选择题1.在一个单链表HL中,若要向q所指结点之后插入一个指针p指向的结点,则执行.A. HL=p; p->next=HLB. P->next=HL; HL=pC. P->next=q->next; q->next=pD. P->next=q->next; q=p->next2.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移个元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东工商学院
2020学年第一学期数据结构课程试题 A卷
(考试时间:120分钟,满分100分)
特别提醒:1、所有答案均须填写在960数字加起来827参考答案207上,写在试题纸上无效。
2、每份答卷上均须准确填写函授站、专业、年级、学号、姓名、课程名称。
一单选题 (共20题,总分值40分 )
1. 设输入序列为ABC,输出序列为CBA,则经过的栈操作为()。
(2 分)
A. push,pop,push,pop,push,pop
B. push,push,push,pop,pop,pop
C. push,push,pop,pop,push,pop
D. push,pop,push,push,pop,pop
2. 对二叉排序树进行()遍历所得的遍历序列中,关键字值是按升序排列的。
(2 分)
A. 前序
B. 中序
C. 后序
D. 层序
3. 已知二叉树T的先序序列为abdegcfh,中序序列为dbgeachf,则T的后序序列为()。
(2 分)
A. gedhfbca
B. dgebhfca
C. abcdefgh
D. acbfedhg
4. 设二维数组A5×8按行优先顺序存储,每个数据元素占2个字节,首地址即元素A[0][0]的起始地址为S,则元素A[3][6]的起始地址为()。
(2 分)
A. S+66
B. S+60
C. S+33
D. S+30
5. m阶B树中的一个分支结点最多含()个关键字。
()(2 分)
A. m-1
B. m
C. [m/2]
D. [m/2]+1
6. 由树转换而得的二叉树,根结点()。
(2 分)
A. 没有左子树
B. 没有右子树
C. 左右子树都有
D. 视树的形态而定
7. 设对下图从顶点a出发进行深度优先遍历,则()是可能得到的遍历序列。
(2 分)
A. acfgdeb
B. abcdefg
C. acdgbef
D. abefgcd
8. 若采用顺序映象,则数据元素在内存中占用的存储空间()。
(2 分)
A. 一定连续
B. 一定不连续
C. 可连续可不连续
9. 将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1..298]中,则A中的元素A[66,65]在数组B中的位置K=()。
(2 分)
A. 195
B. 196
C. 197
D. 198
10. ()是数据的不可分割的最小单位。
(2 分)
A. 数据元素
B. 数据对象
C. 数据项
D. 数据结构
11. 具有n个顶点的有向强连通图最少有()条弧。
(2 分)
A. n-1
B. n
C. n(n-1)
D. n(n-1)/2
12. 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。
(2 分)
A. 快速排序
B. 堆排序
C. 归并排序
D. 直接插入排序
13. 下列叙述中错误的是()。
(2 分)
A. 对数组一般不做插入和删除操作
B. 顺序存储的数组是一个随机存取结构
C. 空的广义表没有表头和表尾
D. 广义表的表尾可能是原子也可能是子表
14. 下面给出的四种排序法中()排序法是不稳定的排序法。
(2 分)
A. 插入
B. 冒泡
C. 二路归并
D. 堆
15. 对稀疏矩阵进行压缩存储的目的是()。
(2 分)
A. 便于进行矩阵运算
B. 便于输入和输出
C. 节省存储空间
D. 降低运算的时间复杂度
16. 设无向图的顶点个数为n,则该图最多有()条边。
(2 分)
A. n-1
B. n(n-1)/2
C. n(n+1)/2
D. n2
17. 设串s1='abcdefg',s2='ab',则Concat(s1,s2)的返回值()。
(2 分)
A. ab
B. cdefg
C. abcdefg
D. abcdefgab
18. 含n个顶点的有向图最多有()条弧。
(2 分)
A. n
B. n(n-1)
C. n(n+1)
D. n2
19. 下列叙述中错误的是()。
(2 分)
A. 由树的先序遍历序列和后序遍历序列可以惟一确定一棵树
B. 二叉树不同于度为2的有序树
C. 深度为k的二叉树上最少有k个结点
D. 在结点数目相同的二叉树中,最优二叉树的路径长度最短
20. 下列说法中错误的是()。
(2 分)
A. 栈是一种非线性结构
B. 一个数据元素由一或多个数据项构成
C. 在顺序存储结构中,结点间的逻辑关系由存储单元的邻接关系来体现
D. 语句的频度就是语句的执行次数
二简答题 (共6题,总分值60分 )
21. 有5个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D第二个出栈)的次序有哪几个?(10 分)
22. 试设计算法,对以邻接矩阵存储的无向图进行深度优先遍历。
(10 分)
23. 试写出对如下无向图从顶点A出发进行广度优先遍历可能得到的所有遍历序列。
(10 分)
24. 设元素的入栈次序为a、b、c、d,且在入栈的过程中允许出栈,试写出所有不可能得到的出栈序列。
(10 分)
25. 设有向网如下,试用迪杰斯特拉算法求从顶点A出发到其余各顶点的最短路径。
(10 分)
26. 设n为正整数,则在下面的程序段中,语句“a+=2;”的频度为多少?for(x=0;x<n;++x)
for(y=0;y<n;++y)
a+=2; (10 分)。