武汉大学数据结构考试试题(附答案) (2)

合集下载

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题(每题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)。

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

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

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)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来记录当前栈中的最小值。

武大计算机类真题数据结构(2007-A

武大计算机类真题数据结构(2007-A

数据结构部分(共75分)一. 单项选择题(2×10分,共20分)1. 某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点,故采用 d 存储方式最节省运算时间。

A. 单链表B.循环单链表C. 双链表D.仅有尾结点指针的循环单链表2. 栈和队列的共同点是c 。

A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点3.对于含有n个互不相同字符的串,则真子串(不包括串自身)的个数是c 。

A. nB.n2C.n(n+1)/2D.n(n-1)/24. 在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为 cA. 4B. 5C. 6D. 75. 某二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定是d 。

A. 空或只有一个结点B. 完全二叉树C. 二叉排序树D. 高度等于其结点数6. 对图1所示的无向图,从顶点1开始进行深度优先遍历;可能得到顶点访问序列是a 。

A.1 2 4 3 5 7 6B.1 2 4 3 5 6 7C.1 2 4 5 6 3 7D.1 2 3 4 5 7 6图1 一个无向图7. 对于含有n个顶点的带权无向连通图,它的最小生成树是指该图中任意一个d。

A.由n-1条权值最小的边构成的子图B.由n-l条权值之和最小的边构成的子图C.由n条权值之和最小的边构成的连通子图D.由n个顶点构成的边的权值之和最小的连通子图8. 有一组数据{15,9,7,8,20,1,7,4},用堆排序的筛选方法建立的初始小根堆为c 。

A.{1,4,8,9,20,7,15,7}B.{1,7,15,7,4,8,20,9}C.{1,4,7,8,20,15,7,9}D.以上都不对9. 在含有27个结点的二叉排序树上,查找关键字为35的结点,则依次比较的关键字有可能是 d 。

A.28,36,18,46,35B.18,36,28,46,35C.46,28,18,36,35D.46,36,18,28,3510. 采用败者树进行k路平衡归并的外排序算法,其总的归并效率与k b 。

武汉大学数据结构考试题(附答案)

武汉大学数据结构考试题(附答案)

1. 下面程序段的执行次数为( A )for(i=0;i<n-1;i++)for(j=n;j>i;j--)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n+2)2. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )A. 110 B .108 C. 100 D. 1203. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( C )A. edcbaB .decba C. dceab D. abcde4. 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( D )A. (rear-front+m)%m B .read-front+1C. read-front-1 D. read-front5.不带头结点的单链表head为空的判定条件是( A )A. head=NULLB .head-next=NULLC. head-next=head D. head!=NULL6.在一个单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行( B)A. s-next=p;p-next=s; B .s-next=p-next;p-next=s; C. s-next=p-next;p=s; D.p-next=s;s-next=p;7. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较多少个结点( D )A. n B .n2 C. (n-1)2 D. (n+1)28.从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行( D )A.x=HS;HS=HS-next;B .x=HS-data;C. HS=HS-next;x=HS-data;D. x=HS-data;HS=HS-next; 9.串是一种特殊的线性表,其特殊性体现在( B )A. 可以顺序存储 B .数据元素是一个字符C. 可以链接存储 D. 数据元素可以是多个字符11.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时下列哪一元素的起始地址相同( B ) A. M[2][4] B .M[3][4] C. M[3][5] D. M[4][4]12. 数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( C )A. SA+144 B .SA+180 C. SA+222 D. SA+22513. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为:( B )A. 2h B .2h-1 C. 2h+1 D. h+114. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A. acbed B .decab C. deabc D. cedba15. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。

数据结构试题及答案

数据结构试题及答案

数据结构试题及答案一、选择题(每题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. 简述链表和数组的区别。

答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。

数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。

链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。

武汉大学《数据结构》2020-2021学年第一学期期末试卷

武汉大学《数据结构》2020-2021学年第一学期期末试卷

武汉大学计算机学院2020-2021学年第一学期“数据结构”考试试题(A)姓名学号(序号)_学校要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

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

一、单项选择题(每小题2分,共计20分)1.下列说法中,不正确的是。

A.数据元素是数据的基本单位B.数据项是数据中不可分割的最小可标识单位C.数据可由若干个数据元素构成D.数据项可由若干个数据元素构成2.对于一个线性表,既要求能够较快地进行节点插入和删除,又要求存储结构能够反映数据元素之间的逻辑关系,则应采用存储结构。

A.顺序B.链式C.散列D.索引3.如果以链表作为栈的存储结构,则退链栈操作时。

A.必须判断链栈是否满B.判断链栈元素的类型C.必须判断链栈是否空D.对链栈不作任何判断4.设循环队列中数组的下标是0~N-1,其头尾指针分别为f和r,则其元素个数为。

A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N5.设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][0]的存储地址为860,则a[3][5]的存储地址是。

A.1000B.860C.1140D.12006..一个无向图中有16条边,度为4的顶点有3个,度为3的顶点有4个,其余顶点的度均小于3,则该图至少有个顶点。

A.10B.11C.12D.137.采用邻接表存储的图的广度优先遍历算法类似于二叉树的算法。

A.先序遍历B.中序遍历C.后序遍历D.层次遍历8.一个有向图G的邻接表存储如图1所示,现按深度优先搜索遍历,从顶点0出发,所得到的顶点序列是。

图1有向图G 的邻接表A.0,1,2,3,4B.0,1,2,4,3C.0,1,3,4,2D.0,1,4,2,39.在含有27个节点的二叉排序树上,查找关键字为35的节点,则依次比较的关键字有可能是。

A.28,36,18,46,35B.18,36,28,46,35C.46,28,18,36,35D.46,36,18,28,3510.对关键字序列{15,9,7,8,20,-1,4}进行排序,进行一趟排序后数据序列变为{9,15,7,8,20,-1,4},则采用的是算法。

数据结构考试题目及答案pdf

数据结构考试题目及答案pdf

数据结构考试题目及答案pdf一、单项选择题(每题2分,共10分)1. 在数据结构中,线性结构和非线性结构的主要区别在于()。

A. 数据元素之间是否有逻辑关系B. 是否有且仅有一个根节点C. 是否有多个根节点D. 数据元素之间是否有顺序关系答案:A2. 链表中每个节点包含数据元素和()。

A. 一个指针B. 多个指针C. 一个数据域D. 一个数据域和一个指针答案:D3. 在二叉树的遍历中,先序遍历的顺序是()。

A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表解决冲突的方法不包括()。

A. 开放寻址法B. 链地址法C. 线性探测法D. 二分查找法答案:D5. 堆是一种特殊的完全二叉树,其特点是()。

A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都大于或等于其子节点的值D. 每个节点的值都小于或等于其子节点的值答案:C二、填空题(每题2分,共10分)1. 在顺序表中,插入一个元素的平均时间复杂度为 O(n) 。

2. 栈是一种特殊的线性表,其特点是后进先出(LIFO),即后进的元素先出栈。

3. 快速排序的时间复杂度在最坏情况下为 O(n^2) 。

4. 广义表的表示形式为 (a, b, c) ,其中a、b、c可以是数据元素或子表。

5. 在图的遍历中,深度优先搜索(DFS)使用的是栈数据结构。

三、简答题(每题10分,共20分)1. 请简述二叉搜索树和平衡二叉树的区别。

答:二叉搜索树是一种特殊的二叉树,其中每个节点的左子树只包含小于该节点的值,右子树只包含大于该节点的值。

平衡二叉树除了满足二叉搜索树的性质外,还要求每个节点的左子树和右子树的高度差不超过1,以保持树的平衡,从而提高查找效率。

2. 什么是图的连通分量?请举例说明。

答:图的连通分量是指图中的最大的连通子图。

如果一个图不是连通的,那么它将被划分为若干个连通分量,每个连通分量内部的顶点都是相互连通的,但不同分量之间没有直接的边相连。

湖北大学数据结构试卷十套

湖北大学数据结构试卷十套

数据结构试卷(一)一、单选题(每题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个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.8二、填空题(每空1分,共26分)1. 通常从四个方面评价算法的质量:_________、_________、_________和_________。

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

1. 下面程序段的执行次数为(A )for(i=0;i<n-1;i++)for(j=n;j>i;j--)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n+2)2. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )A. 110 B .108 C. 100 D. 1203. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( C )A. edcba B .decba C. dceab D. abcde4. 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( D )A. (rear-front+m)%m B .read-front+1C. read-front-1 D. read-front5.不带头结点的单链表head为空的判定条件是( A )A. head=NULLB .head-next=NULLC. head-next=head D. head!=NULL6.在一个单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行(B)A. s-next=p;p-next=s; B .s-next=p-next;p-next=s; C. s-next=p-next;p=s; D. p-next=s;s-next=p;7. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较多少个结点( D )A. n B .n2 C. (n-1)2 D. (n+1)28.从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行( D )A. x=HS;HS=HS-next;B .x=HS-data;C.HS=HS-next;x=HS-data;D. x=HS-data;HS=HS-next; 9.串是一种特殊的线性表,其特殊性体现在( B )A. 可以顺序存储 B .数据元素是一个字符C. 可以链接存储 D. 数据元素可以是多个字符11.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时下列哪一元素的起始地址相同( B ) A. M[2][4] B .M[3][4] C. M[3][5] D. M[4][4]12. 数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( C )A. SA+144 B .SA+180 C. SA+222 D. SA+22513. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为:( B )A. 2h B .2h-1 C. 2h+1 D. h+114. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A. acbed B .decab C. deabc D. cedba15. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。

这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。

下列结论哪个正确( A )A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B .树的后根遍历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对16. 具有6个顶点的无向图至少应有多少条边才能确保是一个连通图( A )A. 5 B .6 C. 7 D. 817. 顺序查找法适合于存储结构为( B )的线性表 A. 散列存储B .顺序存储或链接存储C.压缩存储 D. 索引存储18.采用顺序查找方法查找长度为n的线性表每个元素的平均查找长度为( C )A. n B .n2 C. (n+1)2 D. (n-1)219. 有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为( B )A. 3512 B .3712 C. 3912 D. 431220.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值82为的结点时,几次比较后查找成功( C )二、填空题(每空1分,共20分)1.在线性表的顺序存储中,元素之间的逻辑关系是通过物理存储位置,决定的;在线性表的链接存储中,元素之间的逻辑关系是通过链域的指针值决定的。

2.对于一个具有N个结点的单链表,在已知的结点P后插入一个新结点的时间复杂度为O(1),在给定值为X的结点后插入一个新结点的时间复杂度为O(N)。

3.有一空桟,现有输入序列1,2,3,4,5,经push,push,pop,push,pop,push,push后,输出序列为2,3 。

4.在一个无向图中,所有顶点的度数之和等于所有边数的2 倍 5.对于一棵具有n个结点的树,该树中所有结点的度数之和为n-1。

6. 在一棵三叉树中,度为3的结点数有2个,度为2的结点数有1个,度为1的结点数为2个,那么度为0的结点数有6个7.在霍夫曼编码中,若编码长度只允许小于等于4,则除了已对两个字符编码为0和10外,还可以最多对 4 个字符编码。

8. 对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为n 和n-1 。

9. 对20个记录进行归并排序时,共需要进行5 趟归并,在第三趟归并时是把长度为4 的有序表两两归并为长度为8 的有序表。

三、问答题 1. 简述下面算法的功能(栈和队列的元素类型均为int)void algo3(Queue &Q){Stack S; int d;InitStack(S);while(!QueueEmpty(Q)){DeQueue(Q,d);Push(S,d);}while(!StackEmpty(S)){Pop(S,d); EnQueue(Q,d);}}算法的功能:利用栈作辅助,将队列中的数据元素进行逆置2. 已知一棵二叉树的中序遍历序列和先序遍历序列为,试问能不能唯一确定一棵二叉树。

若给定先序遍历序列和后序遍历序列,能不能唯一确定呢?由中序遍历序列和先序遍历序列能唯一确定一棵二叉树。

由先序遍历和后序遍历序列不能唯一确定一棵二叉树.。

一、选择题1. 下面程序段的执行次数为()for(i=0;i<n-1;i++)for(j=n;j>i;j--)state;A. n(n+2)2 B .(n-1)(n+2)2 C. n(n+1)2 D. (n-1)(n+2)2. 判定一个栈ST(最多元素为m0)为空的条件是:()A. ST-top0 B .ST-top=0C.ST-topm0 D. ST-top=m03. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()A. edcba B .decba C. dceab D. abcde4. 在一个单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行()A. s-next=p;p-next=s;B .s-next=p-next;p-next=s;C. s-next=p-next;p=s;D. p-next=s;s-next=p;5.在一个链队中,假设f和r分别为队首和队尾指针,则删除一个结点的运算时()A. r=f-next; B .r=r-next; C. f=f-next;D. f=r-next;6.串是一种特殊的线性表,其特殊性体现在()A. 可以顺序存储B .数据元素是一个字符 C. 可以链接存储D. 数据元素可以是多个字符7. 稀疏矩阵一般的压缩方法有两种,即( ) A. 二维数组和三维数组 B .三元组和散列C. 三元组和十字链表 D. 散列和十字链表8.将递归算法转换成对应的非递归算法时,通常需要使用( )A. 栈 B .队列 C. 链表 D. 树9.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从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的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( )A. SA+144 B .SA+180 C. SA+222 D. SA+22511. 如果T2是由有序树T转换而来的二叉树,那么T中结点的后序就是T2中结点的( )A. 前序 B .中序 C. 后序 D. 层次序12.一个有n个顶点的无向图最多有多少边( )A. n B .n(n-1) C. n(n-1)2 D. 2n13.按照二叉树的定义,具有3个结点的二叉树有( )种A. 3 B .4 C. 5 D. 6 14.在一非空二叉树的中序遍历序列中,根结点的右边( )A. 只有右子树上的所有结点 B .只有右子树上的部分结点 C. 只有左子树上的部分结点 D. 只有左子树上的所有结点15. 在一个图中,所有顶点的度数之和等于所有边数的多少倍( )A. 12 B .1 C. 2 D. 416.采用邻接表存储的图的深度优先遍历算法类似于二叉树的( )A. 先序遍历 B .中序遍历 C. 后序遍历 D. 按层遍历17.采用顺序查找方法查找长度为n的线性表每个元素的平均查找长度为( )A. n B .n2C. (n+1)2D. (n-1)2二、填空题1. 算法的计算量的大小称为计算的___ _。

2.数据结构是研究数据的和以及他们之间的相互关系,并对这种结构定义相应的运算,设计出相应的,而确保经过这些运算后所得的新结构是结构类型。

3.在一个单链表中删除p结点,应执行下列操作:q=p-next;p-data=p-next-data;p-next= ;free(q);4.有一空桟,现有输入序列5,4,3,2,1,经push,push,pop,push,pop,push,push后,输出序列为。

5.在双向链表中每个结点包含两个指针域,一个指向结点,另一个指向结点。

6.一维数组的逻辑结构是,存储结构是。

7.对于一棵含有40个结点的理想平衡树,它的高度为____ 。

8.假定对长度n=50的有序表进行折半搜索,则对应的判定树高度为,判定树中前5层的结点数为,最后一层的结点数为。

相关文档
最新文档