大数据结构考试精彩试题
数据结构考试题及答案

数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。
2. 解释二叉搜索树的基本概念及其优势。
3. 什么是递归?请给出一个简单的递归算法例子。
三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。
2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。
四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。
如果数组为空,返回0。
答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。
- 数组的索引访问速度快,链表需要遍历。
- 数组的大小固定,链表动态可变。
2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。
- 优势:支持快速的查找、插入和删除操作。
3. 递归是函数自己调用自己的过程。
例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。
大数据结构经典复习题(仅供参考)

一、选择题(20分)1.下面关于线性表的叙述错误的是(D )。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为(A )。
(A) BADC (B) BCDA (C) CDAB (D) CBDA3.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(C )。
(A) 9 (B) 10 (C) 11 (D) 124.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为(B )。
(A) O(1) (B) O(log2n) (C) (D) O(n2)5.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列(B )方法可以达到此目的。
(A) 快速排序(B) 堆排序(C) 归并排序(D) 插入排序第9小题分析:9快速排序、归并排序和插入排序必须等到整个排序结束后才能够求出最小的10个数,而堆排序只需要在初始堆的基础上再进行10次筛选即可,每次筛选的时间复杂度为O(log2n)。
6.下列四种排序中(D )的空间复杂度最大。
(A) 插入排序(B) 冒泡排序(C) 堆排序(D) 归并排序7.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为(C )。
(A) O(n) (B) O(nlog2n) (C) O(1) (D) O(n2)8.设一棵二叉树的深度为k,则该二叉树中最多有(D )个结点。
(A) 2k-1 (B) 2k(C) 2k-1(D) 2k-19.在二叉排序树中插入一个结点的时间复杂度为(B )。
(A) O(1) (B) O(n) (C) O(log2n) (D) O(n2)10.设用链表作为栈的存储结构则退栈操作(B )。
数据结构考试题及答案

数据结构考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的区别在于()。
A. 结构中元素的个数B. 结构中元素之间是否有一对一的对应关系C. 结构中元素之间是否有层次关系D. 结构中元素之间是否有顺序关系答案:C2. 链式存储结构相比于顺序存储结构的优势在于()。
A. 节省存储空间B. 可以方便地进行插入和删除操作C. 可以随机访问任意元素D. 可以存储在非连续的存储单元中答案:B3. 下列关于栈的描述,正确的是()。
A. 栈是一种先进先出(FIFO)的数据结构B. 栈是一种后进先出(LIFO)的数据结构C. 栈可以实现递归算法D. 栈只能进行单一方向的插入和删除操作答案:B4. 在二叉树中,度为2的节点称为()。
A. 叶子节点B. 内部节点C. 分支节点D. 根节点答案:B5. 哈希表解决冲突的常用方法不包括()。
A. 分离链接法B. 开放寻址法C. 链地址法D. 二分查找法答案:D6. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C7. 在图的遍历中,深度优先搜索(DFS)使用的是()。
A. 队列C. 链表D. 数组答案:B8. 以下哪种排序算法是不稳定的()。
A. 冒泡排序B. 快速排序C. 归并排序D. 插入排序答案:B9. 一个具有n个顶点的无向图,其边的最大数量是()。
A. nB. n(n-1)/2C. n^2答案:B10. 以下哪个算法不是动态规划算法()。
A. 斐波那契数列B. 最长公共子序列C. 快速排序D. 0/1背包问题答案:C二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的时间复杂度为O(n^2),表示该算法的执行时间随着输入数据规模的增加而______。
答案:呈二次方增长2. 一个长度为n的数组,使用二分查找算法查找一个元素的平均时间复杂度为O(____)。
数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。
以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。
数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。
链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。
数据结构试题及答案(10套)

数据结构试题及答案(10套)数据结构试题及答案(10套)根据您的需求,我为您准备了10套数据结构试题及答案。
每套试题包含以下几个部分:选择题、填空题、编程题及答案解析。
下面是试题的具体内容:第一套试题:选择题:1. 在数据结构中,什么是栈?A. 先进先出(FIFO)的数据结构B. 后进先出(LIFO)的数据结构C. 随机访问的数据结构D. 无序排列的数据结构2. 以下哪种操作与队列的特性不相符?A. 入队操作B. 出队操作C. 查找操作D. 获取队首元素填空题:1. ______ 是一种动态集合,支持插入、删除和查找等操作。
2. 在二叉搜索树中,中序遍历的结果是________。
编程题:实现一个栈的数据结构,并包含以下操作:- push(x):将元素 x 压入栈中- pop():删除栈顶的元素并返回该元素- top():获取栈顶元素的值- empty():检查栈是否为空答案解析:选择题:B、C填空题:1. 集合 2. 升序序列编程题:略第二套试题:选择题:1. 以下哪个数据结构是一种广度优先搜索的应用?A. 栈B. 队列C. 堆D. 链表2. 在链表中,如果要删除一个节点,只给出该节点的指针,那么需要通过什么方式完成删除操作?A. 直接删除该节点B. 指向该节点的前一个节点的指针C. 指向该节点的后一个节点的指针D. 无法完成删除操作填空题:1. 树是一种________的数据结构。
2. 二叉树每个节点最多有______个子节点。
编程题:实现一个队列的数据结构,并包含以下操作:- enqueue(x):将元素 x 入队- dequeue():删除队首的元素并返回该元素- peek():获取队首元素的值- is_empty():检查队列是否为空答案解析:选择题:B、B填空题:1. 分层组织 2. 2编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。
每套试题包含了不同难度和类型的题目,能够帮助您全面了解和掌握数据结构的概念和操作。
大学数据结构期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。
A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。
3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。
4.在一棵高度为h的3叉树中,最多含有——结点。
5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。
7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。
数据结构的试题及答案

数据结构的试题及答案一、选择题1. 在数据结构中,线性表的顺序存储方式被称为:A. 栈B. 队列C. 链表D. 数组答案:D2. 以下哪种数据结构是动态数据结构?A. 数组B. 链表C. 栈D. 队列答案:B3. 树的度是树内所有节点的度的最大值,树的深度是树的最长路径上的节点数。
以下哪个选项正确描述了树的度和深度?A. 度是节点的最大值,深度是路径上节点数B. 度是路径上节点数,深度是节点的最大值C. 度是节点的最大值,深度是节点的最大值D. 度是路径上节点数,深度是路径上节点数答案:A二、简答题1. 请简述链表和数组的区别。
答案:链表和数组是两种不同的数据存储方式。
数组是连续的内存空间,可以通过索引快速访问元素,但插入和删除操作可能需要移动大量元素。
链表由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针,链表的插入和删除操作不需要移动其他元素,但访问特定元素需要从头开始遍历。
2. 什么是二叉搜索树?它有哪些特点?答案:二叉搜索树(BST)是一种特殊的二叉树,其中每个节点的值都大于或等于其左子树中的任何节点的值,并且小于或等于其右子树中的任何节点的值。
BST的主要特点是它支持快速的查找、插入和删除操作,时间复杂度为O(log n)。
三、计算题1. 给定一个链表,编写一个算法来删除链表中的重复元素。
答案:以下是删除链表中重复元素的算法步骤:- 遍历链表,使用一个哈希表来记录已经遇到的元素。
- 当遍历到一个新元素时,检查它是否已经在哈希表中。
- 如果已经存在,删除当前节点,并继续遍历。
- 如果不存在,将元素添加到哈希表中,并继续遍历。
- 完成遍历后,链表中的重复元素将被删除。
2. 假设有一个二叉搜索树,编写一个算法来找到树中第k小的元素。
答案:以下是找到二叉搜索树中第k小元素的算法步骤:- 从根节点开始,使用中序遍历(左-根-右)。
- 遍历过程中,记录访问的节点数量。
- 当访问到第k个节点时,该节点即为所求的第k小的元素。
大数据结构考试精彩试题

数据结构辅导试题一一、简答问题:1.四类数据结构2.线性结构与非线性结构有何差别?3.简述算法的定义与特性。
4.设有1000个无序元素,仅要求找出前10个最小元素,在下列排序方法中(归并排序、基数排序、快速排序、堆排序、插入排序)哪一种方法最好,为什么?二、判断正误:(每小题1分,共5分)正确在()内打√,否则打 。
1.()二叉排序树或是一棵空树,或是具有下列性质的二叉树:若它的左子树非空,则根结点的值大于其左孩子的值,若它的右子树非空,则根结点的值大于其右孩子的值。
2.()索引顺序表的特点是块内可无序,块间要有序。
3.()子串是主串中任意个连续字符组成的序列。
4.()线性结构只能用顺序结构存放,非线性结构只能用链表存放。
5.()快速排序的枢轴元素可以任意选定。
三、单项选择题:(每小题1分,共4分)1.栈S最多能容纳4个元素。
现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列?A)E、D、C、B、A、F B)B、C、E、F、A、DC)C、B、E、D、A、F D)A、D、F、E、B、C2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为:A、98B、99C、50D、483. 对下列关键字序列用快速排序法进行排序时,速度最快的情形是:A){21、25、5、17、9、23、30} B){25、23、30、17、21、5、9}B){21、9、17、30、25、23、5} D){5、9、17、21、23、25、30}4. 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是:A)M1 B)M1+M2 C)M3 D)M2+M3四、填空题:(每小题2分,共 20分)1.设一哈希表表长M为100 ,用除留余数法构造哈希函数,即H(K)=K MOD P(P<=M), 为使函数具有较好性能,P应选2.N个结点的二叉树采用二叉链表存放,共有空链域个数为3.单链表与多重链表的区别是4.在各种查找方法中,平均查找长度与结点个数无关的是5.深度为6(根层次为1)的二叉树至多有个结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构辅导试题一一、简答问题:1.四类数据结构2.线性结构与非线性结构有何差别?3.简述算法的定义与特性。
4.设有1000个无序元素,仅要求找出前10个最小元素,在下列排序方法中(归并排序、基数排序、快速排序、堆排序、插入排序)哪一种方法最好,为什么?二、判断正误:(每小题1分,共5分)正确在()内打√,否则打 。
1.()二叉排序树或是一棵空树,或是具有下列性质的二叉树:若它的左子树非空,则根结点的值大于其左孩子的值,若它的右子树非空,则根结点的值大于其右孩子的值。
2.()索引顺序表的特点是块内可无序,块间要有序。
3.()子串是主串中任意个连续字符组成的序列。
4.()线性结构只能用顺序结构存放,非线性结构只能用链表存放。
5.()快速排序的枢轴元素可以任意选定。
三、单项选择题:(每小题1分,共4分)1.栈S最多能容纳4个元素。
现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列?A)E、D、C、B、A、F B)B、C、E、F、A、DC)C、B、E、D、A、F D)A、D、F、E、B、C2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为:A、98B、99C、50D、483. 对下列关键字序列用快速排序法进行排序时,速度最快的情形是:A){21、25、5、17、9、23、30} B){25、23、30、17、21、5、9}B){21、9、17、30、25、23、5} D){5、9、17、21、23、25、30}4. 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是:A)M1 B)M1+M2 C)M3 D)M2+M3四、填空题:(每小题2分,共 20分)1.设一哈希表表长M为100 ,用除留余数法构造哈希函数,即H(K)=K MOD P(P<=M), 为使函数具有较好性能,P应选2.N个结点的二叉树采用二叉链表存放,共有空链域个数为3.单链表与多重链表的区别是4.在各种查找方法中,平均查找长度与结点个数无关的是5.深度为6(根层次为1)的二叉树至多有个结点。
6.已知二维数组A[20][10]采用行序为主方式存储,每个元素占2个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的存储地址是7.在一个单链表中p所指结点之后插入s所指结点时,应执行s->next= 和p->next= 的操作.8.广义表((a,b),c,d)的表头是 ,表尾是9.循环单链表LA中,指针P所指结点为表尾结点的条件是10.在一个待排序的序列中,只有很少量元素不在自己最终的正确位置上,但离他们的正确位置都不远,则使用排序方法最好。
五、构造题:(每小题5分,共25分)1.已知一棵二叉树,其中序序列DBCAFGE,后序序列DCBGFEA,构造该二叉树。
2.设哈希表长度为11,哈希函数H(K)=(K的第一字母在字母表中的序号)MOD11,若输入顺序为(D,BA,TN,M,CI,I,K,X,TA),处理冲突方法为线性探测再散列或链地址法,要求构造哈希表,并求出等概率情况下查找成功平均查找长度。
3.有一组关键字{50,52,85,22,96,17,36,55},请用快速排序,写出第一趟排序结果。
4.已知叶子结点值2,3,5,6,9,11,构造哈夫曼树,计算其带权路径长度。
5.画出8个结点的折半判定树。
六、算法设计题:(每小题15分,共30分)(仅要求给出子程序)1.编写算法,判断带头结点的双向循环链表L是否对称。
(15分)对称是指:设各元素值a1,a2,...,an, 则有ai=an-i+1 ,即指:a1= an,a2= an-1 。
结点结构为:2.二叉排序树T用二叉链表表示,其中各元素均不相同。
(1)写出递归算法,按递减顺序打印各元素的值。
(10分)(2)写出完成上述要求的非递归算法。
(5分)《数据结构》试卷参考答案一、简答问题:(每小题4分,共16分)1.集合结构、线性结构、树形结构、网状结构2.线性结构的前驱与后继之间为一对一关系,非线性结构的前驱与后继之间通常为一对多或多对多关系。
3.解决特定问题的有限指令序列。
有限性、确定性、可行性、有0个或多个输入数据、有1个或多个输出结果。
4.堆排序。
因为一趟堆排序排定一个元素,只需进行前10趟堆排序就可以了。
其它排序方法均需进行完全排序。
二、判断正误:(每小题1分,共5分)正确在(。
1. 2.(√) 3.(√) 4. 5.(√)三、单项选择题:(每小题1分,共4分)1.C) 2.A) 3. A) 4. D)四、填空题:(每小题2分,共 20分)1. 97 2. n+1 3. 链域数目不同4. 哈希查找法5. 26 – 16. 11687. p->next 、 s 8.(a,b) 、 (c,d)9. P->next==LA 10. 直接插入五、构造题:(每小题5分,共25分)1.2.ASL=15/93.{36,17,22,50,96,85,52,55}4.WPL=11×2+6×2+9×2 +5×3 +2×4+3×4=87[注]:哈夫曼树的左右子树可以互换。
5.[注]:如果求中点时采用向上取整,则二叉树的形态为左子树偏长。
六、算法设计题:(每小题15分,共30分)(仅要求给出子程序)1.[解答]:int judge(DLinkList L){p=L->next; q=L->prior;while(p!=q){ if(p->data!=q->data) return 0;if(p->next==q) return 1;p=p->next;q=q->prior;}return 1;}[注]:可以不用返回值,而用打印信息。
2.[解答]:(1)void print_1(BiTree T){if(T!=NULL){ print_1(T->RChild);printf(“%c”, T->data);print_1(T->LChild);}}(2)void Print_2(BiTree T){ InitStack (&S);p=T;while(p!=NULL || ! IsEmpty(S)){ while (p!=NULL){ Push(&S, p);p=p->RChild;}if ( ! IsEmpty(S) ){ Pop(&S, &p);printf (“%c”, p -> data );p = p -> LChild;}}}数据结构辅导试题二一、简答题:(每小题3分,共15分)1.什么情况下二叉排序树的查找性能较好?什么情况下二叉排序树的查找性能最差?2.比较顺序表与单链表的优缺点。
3.请写出栈的链式存储结构的类型定义。
4.在起泡排序过程中,有的关键字在某趟排序中可能朝着与最终排序相反的方向移动,试举例说明之。
5.简述参数传递的主要方式及其特点。
二、判断正误:(每小题1分,共5分)正确在()内打√,否则打 。
( )(1)在拓朴序列中,如果结点Vi排在结点Vj的前面,则一定存在从Vi到Vj的路径。
( )(2)在采用线性探测法处理冲突的散列表中,所有同义词在表中一定相邻。
( )(3)在一个小根堆中,具有最大值的元素一定是叶结点。
( )(4)索引顺序表的特点是块间可无序,但块内一定要有序。
( )(5)哈夫曼树中没有度为1的结点,所以必为满二叉树。
三、单项选择题:(每小题1分,共5分)1.对于只在表的首、尾进行插入操作的线性表,宜采用的存储结构为:A) 顺序表 B) 用头指针表示的单循环链表C) 用尾指针表示的单循环链表 D) 单链表2.假设以第一个元素为分界元素,对字符序列(Q, H, C, Y, P, A, M, S, R, D, F, X)进行快速排序,则第一次划分的结果是:A) (A, C, D, F, H, M, P, Q, R, S, X, Y) B) (A, F, H, C, D, P, M, Q, R, S, Y, X)C) (F, H, C, D, P, A, M, Q, R, S, Y, X) D) (P, A, M, F, H, C, D, Q, S, Y, R, X)3.下面是三个关于有向图运算的叙述:(1)求有向图结点的拓扑序列,其结果必定是唯一的(2)求两个指向结点间的最短路径,其结果必定是唯一的(3)求AOE网的关键路径,其结果必定是唯一的其中哪个(些)是正确的?A) 只有(1) B) (1)和(2) C) 都正确 D) 都不正确4.若进栈序列为a, b, c,则通过入出栈操作可能得到的a, b, c的不同排列个数为:A) 4 B) 5 C) 6 D) 75. 以下关于广义表的叙述中,正确的是:A) 广义表是由0个或多个单元素或子表构成的有限序列B) 广义表至少有一个元素是子表C) 广义表不能递归定义 D) 广义表不能为空表四、填空题:(每小题2分,共 20分)1.一棵含有101个结点的完全二叉树存储在数组A[1..101]中, 对1≤k≤101, 若A[k]是非叶结点, 则k的最小值是: ,k的最大值是: 。
2. 设s=’YOU ARE JUDGING IT RIGHT OR WRONG’,顺序执行下列操作:SubString(sub1,s,1,8); SubString(sub2,s,20,5); StrCat(sub1,sub2); 则最后sub1的值为:。
3. 若一个算法中的语句频度之和为T(n) = 3720n+4nlogn,则算法的时间复杂度为________________ 。
4.广义表((((a),b),c),d)的表头是,表尾是。
5.已知有向图的邻接矩阵,要计算i号结点的入度,计算方法是:将累加。
6.要在一个单链表中p所指结点之后插入一个子链表,子链表第一个结点的地址为s,子链表最后一个结点的地址为t, 则应执行操作:和。
7. 用带头结点的循环链表表示的队列,若只设尾指针rear, 则队空的条件是。
8.已知二维数组A[10][20]采用行序为主方式存储,每个元素占2个存储单元,并且A[0][0]的存储地址是1024, 则A[6][18]的地址是9.在表示二叉树的二叉链表中,共有个空链域。
10.n个顶点的连通无向图至少有条边,至多有条边。
五、构造题:(每小题6分,共30分)1.已知二叉树的中序序列为DBGEAFC,后序序列为DGEBFCA,给出对应的二叉树。