数据结构试卷B卷(含答案)

合集下载

数据结构试卷

数据结构试卷

数据结构试卷B(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--试题 B一、填空题(18小题,40个空,每空分,共20分)1、数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。

2、线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。

3、在顺序表中插入或删除一个元素,需要平均移动,具体移动的元素个数与有关。

4、在顺序表中访问任意一结点的时间复杂度均为,因此,顺序表也称为的数据结构。

5、顺序表中逻辑上相邻的元素的物理位置相邻。

单链表中逻辑上相邻的元素的物理位置相邻。

6、若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为。

7、求下列广义表操作的结果:(1) GetHead【((a,b),(c,d))】=== ; //头元素不必加括号(2) GetHead【GetTail【((a,b),(c,d))】】=== ;(3) GetHead【GetTail【GetHead【((a,b),(c,d))】】】=== ;(4) GetTail【GetHead【GetTail【((a,b),(c,d))】】】=== ;8、一棵具有257个结点的完全二叉树,它的深度为。

9、设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。

10、图有、等存储结构,遍历图有、等方法。

11、n个顶点e条边的图采用邻接矩阵存储,广度优先遍历算法的时间复杂度为;若采用邻接表存储,该算法的时间复杂度为。

12、用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度的次序来得到最短路径的。

13、假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。

湖北省计算机类专业人才培养合作联盟联合考试试卷(数据结构B卷)

湖北省计算机类专业人才培养合作联盟联合考试试卷(数据结构B卷)

注意事项:1.考生将姓名、学号等信息写在试卷相应位置;2.必须使用蓝(黑)色钢笔或签字笔在规定位置答题;3.注意字迹清楚,保持卷面整洁。

止。

二、填空题(每小题1分,共10分)1. 一个算法具备的5个特性分别是可行性、有穷性、______、输入和输出。

2. 在有n个元素的顺序表中的任意位置插入一个元素所需移动元素的平均次数为______。

3. 栈是一种具有______特性的线性表。

4. 无论是顺序队列还是链式队列,插入和删除运算的时间复杂度都是______。

5. 递归函数f(1)=1,f(n) = f(n-1) + n(n>1)的递归出口是______。

6. 完全二叉树中节点个数为n,则编号最大的分支节点的编号是______。

7. 对n个顶点的连通图来说,它的生成树一定有______边。

8. 采用哈希存储方法时,用于计算节点存储地址的是______。

9. 对二叉排序树进行______遍历,可以得到按关键字从小到大排列的节点顺序。

10.在排序过程中,不比较关键字大小的排序方法是______。

B-2 共13 页.Word 资料三、单向选择题 (每小题2分,共30分)1. 算法的时间复杂度与______有关。

A 、问题规模B 、计算机硬件性能C 、编译程序质量D 、程序设计语言2. 链表不具有的特点是______。

A 、可随机访问任一元素B 、插入删除不需要移动元素C 、不必事先估计存储空间D 、所需空间与线性表长度成正比3. 已知一个栈的进栈顺序是1,2,3,...,n , 其输出序列是P1, P2,..., Pn, 若P1=n ,则Pi 的值为______。

A 、iB 、n-iC 、n-i+1D 、不确定4. 设顺序循环队列中数组的下标是0~N-1,其头、尾指针分别为f (指向队头元素的前一个位置)和r (指向队尾元素),则其元素个数为______。

A 、r-fB 、r-f-1C 、(r-f)%N+1D 、(r-f+N)%N5. 将递归算法转换成对应的非递归算法时,通常需要使用______保存中间结果。

北京理工大学《数据结构》试题及答案(B卷)

北京理工大学《数据结构》试题及答案(B卷)

一、单项选择题1.算法必须具备的三个特性是( )。

A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性2.下列数据中,( )是非线性数据结构。

A.栈B.队列C.完全二叉树D.顺序表3.算法分析的两个方面是( )。

A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性4.非空的循环单链表head的尾结点p满足( )。

A.p->next==head B.p->next==NULLC.p==NULL D.p==head5.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )。

A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D.p->next=s->next;p->next=s;6.按照二叉树的定义,具有3个结点的二叉树有( )种。

A.3 B.4C.5 D.67.在一个有向图中,所有顶点的入度之和是所有顶点的出度之和的( )倍。

A.1/2 B.1C.2 D.48.二叉排序树是( )。

A.每一分支结点的度均为2的二叉树B.中序遍历得到一升序序列的二叉树C.按从左到右顺序编号的二叉树D.每一分支结点的值均小于左子树上所有结点的值,大于右子树上所有结点的值9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( )。

A.1和 5 B.2和4C.4和2 D.5和110.下列说法中正确的是( )。

A.堆栈是在两端操作、先进后出的线性表B.堆栈是在一端操作、先进先出的线性表C.队列是在一端操作、先进先出的线性表D.队列是在两端操作、先进先出的线性表11.不带头结点的单链表head为空的判定条件是( )。

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

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

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

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)1. 下面哪个数据结构是线性结构?A. 树B. 图C. 队列D. 网络流2. 下面哪个数据结构用于实现广度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆3. 下面哪个数据结构用于实现深度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆4. 下面哪个数据结构用于实现快速排序算法?A. 栈B. 队列C. 散列表D. 堆5. 下面哪个数据结构用于实现优先队列?A. 栈B. 队列C. 散列表D. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。

2. 二叉树的节点最多有______个子节点。

3. 堆是一种特殊的______。

4. 散列表的查找效率取决于______。

5. 图的遍历算法包括______和______。

6. 快速排序算法的平均时间复杂度为______。

7. 哈希表中的冲突解决方法有______和______。

8. 最小树算法包括______和______。

9. 最短路径算法包括______和______。

10. 并查集算法用于解决______问题。

第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。

2. 请简述二叉搜索树的特点。

3. 请简述哈希表的原理。

4. 请简述图的深度优先搜索算法。

5. 请简述最小树算法的原理。

第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。

数据结构试卷B

数据结构试卷B

生答题不得过此线··密····························封·························线···························· 院系 专业年级 班级 姓名 学号··················装····························订·························线···························· 一、判断下列命题是否正确(共20分 每题2分)( )1.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。

数据结构期末考试试题和标准答案及评分标准

数据结构期末考试试题和标准答案及评分标准

《数据结构》试题(A卷)(考试时间: 90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。

A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。

A.效率B.复杂度C.数据元素之间的关系D.数据的存储方法3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。

A.链式存储B. 索引存储C.顺序存储D.散列存储4.下述哪一条是顺序存储结构的优点?()A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行()。

A.p->next=p->next->nextB.p->next=p->nextC.p=p->next;p->next=p->next->nextD.p=p->next->next6.带头结点的单链表head为空的判定条件是()。

A.head==NULLB.head->next==NULLC.head->next==headD.head!==NULL7.非空的循环单链表head的尾结点(由p所指向)满足()。

A.p->head==NULLB.p==NULLC.p->next==headD.p==head8.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链式存储,不必占用一片连续的存储单元。

D.线性表采用链式存储,便于插入和删除操作。

9.队列操作的原则是()。

A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题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. 散列存储结构中,关键码到存储地址的映射方法称为______。

湖北文理学院数据结构试题与答案B

湖北文理学院数据结构试题与答案B

湖北文理学院 2011-2012 学年度下学期《数据结构与算法》试卷B专业:计算机科学与技术姓名: 学号: 班级:一、判断题(本题共10小题,每小题1分,共计10分)。

(正确的打√,错的打×)1、空串和空格串是相同的。

( )2、数据的存储结构是数据及其逻辑结构在计算机中的物理表示。

( )3、大顶堆(最大堆)中,最大值一定为根结点。

( )4、栈是特殊的线性表,它的插入和删除分别在线性表的两端进行。

( )5、稀疏矩阵一般采用三元组顺序表方法压缩存储。

( )6、 若二叉排序树(搜索树)中关键码互不相同,则其中最小元素和最大元素一定是叶子结点。

( )7、有向图用邻接表表示后,顶点i 的出度等于邻接表中顶点i 后链表的长度。

( ) 8、链接线性表是顺序存取的线性表。

( )9、哈希函数进行模除取余时,最好取素数进行模除。

( ) 10、归并排序是一种稳定的排序算法。

( )二、填空题(本题共10小题,每小题 2 分,共计 20分)。

(请将正确答案填入空格内,答案是确定和唯一的)1、在数据结构中,从逻辑上可以把数据结构分成 和 。

2、限在表尾进行插入和删除操作的线性表称为 。

3、实现二分查找(对半搜索)的存储结构仅限于顺序存储结构,且其中元素排列必须是_______的。

4、在拓扑排序中,拓扑序列的第一个顶点必须是 的顶点。

5、在一个长度为n 的顺序表中删除第i 个元素,则需要移动 个元素。

6、二维数组A[6,7],按列优先存储,每个元素占4个字节,A 基址为500,则元素A[4,6]的存储地址是 。

7、深度为k二叉树中最多可有个结点。

8、任意写出二叉树的两种存储结构,分别是和。

9、已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数是。

10、快速排序平均时间复杂性为,平均空间复杂性。

三、选择题(本题共18小题,每小题 1分,共计 18 分)。

(从下列答案中选出一个正确答案,并将对应的字母填入括号内)1.线性表的顺序存储结构是一种( )的存储结构。

2010-2011(2)数据结构B卷及答案

2010-2011(2)数据结构B卷及答案

安徽大学2010—2011学年第2学期《 数据结构 》考试试卷(B 卷) (闭卷 时间120分钟)考场登记表序号一、填空题(每小题1.5分,共15分) 1.含有36个元素的有序表,进行二分查找时的判定树的深度为 6 。

2.在一个无向图中,所有顶点的度数之和等于所有边数的 2 倍。

3. 由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为 44 。

4.由a ,b ,c 三个结点构成的二叉树,共有 5 种不同形态。

5.二维数组A[0‥5][5‥10]以行序为主序存储,每个元素占4个存储单元,且A[0][5]的存储地址是1000,则A[3][9]的地址是 1088 。

6.若串s=''soft ,则其子串个数是 11 。

7. 设循环队列的空间大小为M ,入队时修改队尾指针rear 的语句为 rear=(rear+1)%M 。

8.在顺序存储结构的线性表中,插入或删除一个数据元素大约需移动表中 一半 元素。

9.下列程序段的时间复杂度是 O(m*n) 。

for (i=0;i<n;i++) for (j=0;j<m;j++) A[i][j]+=5;10. 在数据结构中,与所使用的计算机无关的是数据的 逻辑 结构。

二、单项选择题(每小题2分,共20分)1. 数据结构可以用二元组来表示,它包括( A )集合D 和定义在D 上的( C )集合R 。

A 、数据元素B 、存储结构C 、元素之间的关系D 、逻辑结构2. 已知L 是一个不带头结点的单链表,p 指向其中的一个结点,选择合适的语句实现在院/系 年级 专业 姓名 学号答 题 勿 超 装 订 线 ------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------p结点的后面插入一个结点s的操作(B)。

江西理工大学数据结构试卷(2010级B卷)16K - 答案

江西理工大学数据结构试卷(2010级B卷)16K - 答案

江 西 理 工 大 学 考 试 试 卷试卷编号:1213010547 -B一、 填空题(共38分)1、数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构 。

(4分)2、在n 个元素的顺序表中插入一个元素,需要最多移动 n 元素,具体移动的元素个数与插入的元素的位子 有关。

(4分)3、从循环队列中插入一个元素时,其操作是先 插入元素 ,后 移动队首指针 。

(4分)4、设S=”h:/美的Mary.doc”,则strlen(s)= 15 , “的”的字符定位的位置为 6 。

(4分)5、一棵深度为4的完全二叉树最少有 7 个分支结点和最少有 8 个叶子。

(4分)6、由下图中的二叉树可以得出其遍历序列:其中先根遍历序列为: ABDGCHKELIFJ 、中根遍历序列为: BCGDAEKHILFJ 、后根遍历序列为: CGDBEKIJFLHA 。

(6分)7、n 个顶点e 条边的图采用邻接表存储,广度优先遍历算班级 学号 姓名法的时间复杂度为O(n+e) ;若采用邻接表存储,该算法的时间复杂度为O(n2) 。

(4分)8、若一个堆栈的输入序列是1,2, …,m-1,m,则输出序列的最后一个元素是1 ,则第i个输出元素是:m-i+1 。

(4分)9、用邻接矩阵存储包含30个顶点和35条边的有向图,则该邻接矩阵中的元素个数为900 ,零元素个数为865 。

(4分)二、应用题(32分)1、若一棵度为m的树中有n(1)个度为1的节点,n(2)个度为2的节点,n(3)个度为3的节点,…,n(m)个度为m的节点,问该树有多少个叶节点?(9分)答:每个度为1的节点有1个子节点,即每个该类节点有1条边连接子节点;每个度为2的节点有2个子节点,即每个该类节点有2条边连接子节点;……;每个度为m的节点有m个子节点,即每个该类节点有m条边连接子节点;每个度为0的节点(叶节点) 有0个子节点,即每个该类节点有0条边连接子节点;设叶节点的个数为n(0),因此该树的边数为:n(1)+2n(2)+…+m*n(m)树中仅有1个根节点,除根节点外,树中每个节点有且仅有1条边与其父节点相连。

数据结构期末试卷及参考答案B

数据结构期末试卷及参考答案B

《数据结构》试卷(B)学号:姓名:日期:一.选择题(每小题2分,共30分,请写在答卷纸上):1.下面程序的时间复杂为()。

for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}A.O(n)B.O(n2)C.O(n3)D.O(n4)2.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是()。

A.线性结构B.树型结构C.物理结构D.图状结构3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。

A.q=p->next;p->data=q->data;p->next=q->next;free(q);B.q=p->next;q->data=p->data;p->next=q->next;free(q);C.q=p->next;p->next=q->next;free(q);D.q=p->next;p->data=q->data;free(q);4.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点5.设某棵二叉树的中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

A.BADCB.BCDAC.CDABD.CBDA6.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

数据结构(第二版) 模拟试题自测卷AB卷带答案3

数据结构(第二版) 模拟试题自测卷AB卷带答案3

试卷B一、选择题(本题共20分,每题2分)1.在数据结构中,从逻辑上可以把数据结构分成( ) 。

A .动态结构和静态结构 B. 线性结构和非线性结构 C. 紧凑结构和非紧凑结构 D. 内部结构和外部结构 2. 下列程序段的时间复杂度是( )count=0;for(k=1;k<=n;k*=2) for(j=1;j<=n;j++) count++;A.O(nlog2n)B.O(n)C.O(log2n)D.O(n2) 3. 以下描述错误的是:( )A. 线性表是n 个数据元素的有限非空集合。

B. 栈和队列都是操作受限的线性表。

C. 串(或字符串)是由零个或多个字符组成的有限序列。

D. 非空栈中的栈顶指针top 始终指向栈顶元素的下一个位置。

4. 若采用少用一个队列空间的方法来区分队满队空两种状态,则判定一个顺序循环队列 Q (最大队列长度MAXSIZE )为满队列的条件是( )。

A. Q.front=Q.rearB. Q.front!=Q.rearC. Q.front=(Q.rear+1) % MAXSIZED. Q.front!=(Q.rear+1) % MAXSIZE 5. 按照二叉树的定义,具有 3 个结点的二叉树有( )种。

A. 3 B. 4 C. 5 D. 66. 设矩阵A (如下图所示)是一个对称矩阵,为了节省存储,将其下三角(包括对角线)部分按行序存放在一维数组 B[n(n+1)/2]中,对下三角部分中任一元素 ai,j(i ≥j),在一维数组 B 的下标位置k 的值是( )。

A. i(i-1)/2+j-1 B. i(i-1)/2+j C. i(i+1)/2+j-1 D. i(i+1)/2+j0,01,01,11,01,11,1...............n n n n a a a A a a a ----⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦7. 有一个有序表为{5, 18,23, 33, 42, 54,56,78},当折半查找56时,经过( )次比较后查找成功。

2007-09(2)数据结构期末试卷(B) 1

 2007-09(2)数据结构期末试卷(B) 1

汕头职业技术学院2007-2009学年第二学期期末试卷(B)课程名称数据结构学分_____ 拟题人何汉阳审题人___________系(校区) 计算机系班级_____________ __ 学号_____ 姓名_ _________一、判断题(每小题1分,共15分)1、数据的物理结构是指数据在计算机内的实际存储形式。

()2、分配给单链表的内存地址必须是连续的。

()3、在有n个元素的顺序表中,删除任意一个元素所需移动结点的平局次数为n-1。

()4、对于单循环链表,从表中任一结点都能扫描表中的全部结点。

()5、栈是一种对进栈、出栈操作总次数做了限制的线性表。

()6、无论是顺序队列还是链接队列,插入和删除元素运算的时间复杂度都是O(1)。

()7、表示稀疏矩阵的三元组顺序中,各元素的排列顺序与矩阵元素值的大小有关。

()8、完全二叉树中只有度为0和度为2的结点。

()9、已知二叉树的先序序列和后序序列,并不能唯一确定这棵二叉树。

()10、哈夫曼树中,权值较大的叶结点一般都离根结点较远。

()11、如果表示有向图的邻接矩阵是对称矩阵,则该有向图一定是完全有向图。

()12、有向图的遍历不可采用广度优先搜索方法。

()13、顺序表和单链表表示的有序表均可使用二分查找法来提高查找速度。

()14、只有在记录的关键字的初始状态为逆序排列的情况下,直接选择排序过程中元素的移动次数才会达到最大值。

()15、内排序中的快速排序方法,在任何情况下均可得到最快的排序效果。

()二、选择题(每小题2分,共40分)1.___________中任何两个结点之间都没有逻辑关系。

A)集合 B)图状结构 C)树型结构D)线性结构2.计算机算法指的是__________。

A)计算方法 B)调度方法C)排序方法 D)解决某一问题的有限运算序列3.下面____________的时间复杂性最好,即执行时间最短。

A)O(n) B)O(nlog2n) C)O(log2n) D)O(n3)4.在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移_________个元素。

专科《数据结构》_试卷_答案

专科《数据结构》_试卷_答案

实用文档专科【数据结构】一、〔共75题,共150分〕1. 数据的逻辑结构在计算机内部存储表示称为为数据的〔〕。

〔2分〕A.数据结构B.逻辑关系C.物理结构D.数据元素的内部结构.标准答案:C2. 〔〕是数据的不可分割的最小单位。

〔2分〕A.数据对象B.数据元素C.数据类型D.数据项.标准答案:D3. 算法的时间复杂度是对算法〔〕的度量。

〔2分〕A.时间效率B.空间效率C.可读性D.健壮性.标准答案:A4. 〔〕是限制了插入和删除操作在一端进行的线性表。

〔2分〕A.栈B.队列C.串D.数组.标准答案:A5. 数组通常采用顺序存储的优点是〔〕。

〔2分〕A.便于增加存储空间B.便于依据下标进行随机存取C.防止数据元素的移动D.防止下标溢出.标准答案:B6. 采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针〔〕次。

〔2分〕A.1B.2C.3D.4.标准答案:D7. 线性表的顺序存储结构是一种〔〕的存储结构。

〔2分〕A.顺序存取B.随机存取C.索引存取D.Hash存取.标准答案:B8. 数组a[1..256]采用顺序存储,a的首地址为10,每个元素占2字节,那么a[21]的地址是〔〕。

〔2分〕A.10B.30C.50D.70.标准答案:C 9. 深度为4的二叉树,第4层至少有〔〕个结点。

〔2分〕A.0B.1C.8D.15.标准答案:B10. 假设二叉树对应的二叉链表共有11个非空链域,那么该二叉树有〔〕个结点的二叉树。

〔2分〕A.10B.11C.20D.21.标准答案:A11. 下面表达错误的选项是〔〕。

〔2分〕A.借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C.对于单链表进行插入操作过程中不会发生上溢现象D.在无向图的邻接矩阵中每行1的个数等于对应的顶点度.标准答案:C12. 以下与数据的存储结构无关的术语是〔〕。

〔2分〕A.循环队列B.双向链表C.哈希表D.数组.标准答案:D13. 在一个长度为n的链式队列中入队实现算法的时间复杂度为〔〕。

2021《数据结构》期末试卷B(答案)(1)

2021《数据结构》期末试卷B(答案)(1)

厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2010年级___专业主考教师:陈怡疆庄朝晖试卷类型:(B卷)一、(本题10分)回答下列问题,同时举例说明之:(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系?(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。

这样的说法对吗?(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而得到不同的数据结构。

这样说法对吗?答:答:(1)数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素的表示及其关系的表示。

数据的运算是对数据定义的一组操作,运算是定义在逻辑结构上的,和存储结构无关,而运算的实现则是依赖于存储结构。

(2)逻辑结构相同但存储不同,可以是不同的数据结构。

例如,线性表的逻辑结构属于线性结构,采用顺序存储结构为顺序表,而采用链式存储结构称为线性链表。

(3)栈和队列的逻辑结构相同,其存储表示也可相同(顺序存储和链式存储),但由于其运算集合不同而成为不同的数据结构。

二、(本题10分)(1)线性表和树的共同点和不同点是什么?(2)设数组a[0..49,0..79]的基地址为2000,每个元素占2个字节,若以列序为主序顺序存储,则元素a[44,67]的存储地址为多少?答:(1)共同点:线性表和树都是逻辑结构,都可以没有数据元素(空表或空树)。

如果不空,都存在一个无前驱的数据元素,都存在无后继的数据元素。

如果不空,除了无前驱的数据元素外,其余的数据元素均只有一个前驱。

不同点:若不空,线性表只存在一个无后继数据元素(表尾结点),而树可以存在多个无后继数据元素(叶子结点)。

除了无后继数据元素外,在线性表中其它数据元素有一个后继,在树中有多个后继。

(2)2000+(67*50+44)*2=8788三、(本题10分)下面的邻接表表示一个给定的无向图G,(1)画出该无向图G。

数据结构试卷B

数据结构试卷B

试卷编号: (B )卷数据结构 课程 课程类别:必 开卷(范围)( A4纸一张 ):考生注意事项:1、本试卷共 页,总分 分,考试时间 分钟。

2一、 选择题(每题 2 分,共30分)1. 假设某算法语句总的执行次数为T(n)=5n 5+n³+n²,那么该算法的时间复杂性量级为__B _____。

A) O(2) B) O(n 5) C) O(n 4) D) O(1)2. 若长度为n 的线性表采用顺序存储结构,删除它的第i 数据元素,需要先依次向前移动___A____个数据元素。

( )A) n-i B) n+i C) n-i-1 D) n-i+13. 在一个采用顺序存储方式的线性表中,若表的第一个元素的存储地址是100,每一个元素的长度为2,则第5个元素的地址是 B A) 110 B) 108 C) 100 D) 1204. 从逻辑结构上可以把数据结构分为 C 两大类。

A .动态结构、静态结构B .顺序结构、链式结构C .线性结构、非线性结构D .初等结构、构造型结构 5. 对线性表,在下列哪种情况下应当采用链表表示? BA )经常需要随机地存取元素B )经常需要进行插入和删除操作C )表中元素需要占据一片连续的存储空间D )表中元素的个数不变 6. 带头结点的单链表为空的判断条件是 B 。

A) head==NULL B) head->next==NULL C) head->next==head D) head!=NULL 7. 以下哪一个术语与数据的具体存储结构无关? A A)栈 B)三元组表 C)线索二叉树 D)双向链表 8. 栈的插入和删除操作在( A )进行。

A 栈顶B 栈底C 任意位置D 指定位置9. 某堆栈的输入序列为a,b,c,d,下面的四个序列中,____C ______不可能是它承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。

南邮数据结构B期末试卷

南邮数据结构B期末试卷

数据结构B期末试卷班级学号姓名得分解答题: (共82分)(1) 1.下列程序段或函数的时间复杂度。

(10%)(2) for (int k=0;k<m;k++) (2)int fac(unsigned int n)for (int j=0;j<n;j++) { if (n= =0||n= =1) return 1;a[k][j]=k*j; else return n*fac(n-1);}(3) int Prime(int n) (4)k=1; x=0;{ int k=2 , x=(int)sqrt(n) ; do {while (k<=x) { x++; k*=2;if (n % k= =0) break; }k++; } while (k<n);if (k>x) return 1;else return 0; }2.有A.B.C.D四个元素依次入栈, 即入栈序列唯一, 问共能得到多少种出栈序列?能否得到以下四种出栈序列: ABCD.BDAC.CBDA.DBAC。

对能得到的序列, 请写出Push、Pop序列;对不能得到的序列, 请说明理由。

(6%)3.矩阵Am*n以行优先方式从1000H处开始存放, 元素类型未知, 已知: A[2][3]存放在1011H处, A[1][1]存放在1005H处, 求元素A[2][0]的存放位置。

(6%)4.根据下图所示的树回答问题: (共13%)(1)画出该树等效的二叉树。

(3%)等效的二叉树(2)、写出对该树进行先序、后序遍历的结点序列。

(4%)(3)用带右链的先序表示法来存储此树, 填写下表。

(6%)下标01234567891011siblingelementltag5.假设用于通讯的电文仅由 {ABCDEFGH} 8个字母组成, 字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10。

数据结构试卷B卷(含答案)

数据结构试卷B卷(含答案)

《数据结构》试卷B一、填空题(每空1分,共15分)1. 向量、栈和队列都是结构,可以在向量的位置插入和删除元素;对于栈只能在插入和删除元素;对于队列只能在插入和删除元素。

2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为。

不允许插入和删除运算的一端称为。

3. 数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。

4. 在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。

5. 在具有n个单元的循环队列中,队满时共有个元素。

6. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。

二、判断正误(判断下列概念的正确性,并作出简要的说明。

)(每小题1分,共10分)()1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

()2. 在表结构中最常用的是线性表,栈和队列不太常用。

()3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

()4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

()5.线性表的逻辑顺序与存储顺序总是一致的()6. 栈和队列是一种非线性数据结构。

()7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

()8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

()9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

()10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

三、单项选择题(每小题1分,共20分)( )1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构( )2. 若已知一个栈的入栈序列是1,2,3,…,n ,其输出序列为p1,p2,p3,…,pn ,若p1=n ,则pi 为A.i B.n=i C.n-i+1 D.不确定( )3. 判定一个栈ST (最多元素为m0)为空的条件是A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0( )4设矩阵A 是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素a i,j (i ≤j), 在一维数组B 中下标k 的值是:A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j( )5.具有n(n>0)个结点的完全二叉树的深度为 。

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

《数据结构》试卷B一、填空题(每空1分,共15分)1. 向量、栈和队列都是结构,可以在向量的位置插入和删除元素;对于栈只能在插入和删除元素;对于队列只能在插入和删除元素。

2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为。

不允许插入和删除运算的一端称为。

3. 数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。

4. 在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。

5. 在具有n个单元的循环队列中,队满时共有个元素。

6. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。

二、判断正误(判断下列概念的正确性,并作出简要的说明。

)(每小题1分,共10分)()1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

()2. 在表结构中最常用的是线性表,栈和队列不太常用。

()3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

()4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

()5.线性表的逻辑顺序与存储顺序总是一致的()6. 栈和队列是一种非线性数据结构。

()7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

()8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

()9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

( )10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

三、单项选择题(每小题1分,共20分)( )1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构( )2. 若已知一个栈的入栈序列是1,2,3,…,n ,其输出序列为p1,p2,p3,…,pn ,若p1=n ,则pi 为A.i B.n=i C.n-i+1 D.不确定( )3. 判定一个栈ST (最多元素为m0)为空的条件是A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0 ( )4设矩阵A 是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素a i,j (i ≤j), 在一维数组B 中下标k 的值是:A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j( )5.具有n(n>0)个结点的完全二叉树的深度为 。

(A) log 2(n) (B) log 2(n) (C) log 2(n) +1 (D) log 2(n)+1( )6. 有8个结点的无向连通图最少有 条边。

A .5 B. 6 C. 7 D. 87. 数据结构反映了数据元素之间的结构关系。

链表是一种 A ,它对于数据元素的插入和删除 B 。

通常查找线性表数据元素的方法有 C 和 D 两种方法,其中 C 是一种只适合于顺序存储结构但 E 的方法;而 D 是一种对顺序和链式存储结构均适用的方法。

供选择的答案:A :①顺序存储线性表 ②非顺序存储非线性表 ③顺序存储非线性表 ④非顺序存储线性表B : ① 不需要移动结点,不需改变结点指针 ②不需要移动结点,只需改变结点指针③只需移动结点,不需改变结点指针 ④既需移动结点,又需改变结点指针C :① 顺序查找 ②循环查找 ③条件查找 ④二分法查找D :① 顺序查找 ②随机查找 ③二分法查找 ④分块查找E :① 效率较低的线性查找 ②效率较低的非线性查找 ③效率较高的非线性查找 ④效率较高的线性查找答案:A = B = C = D = E =8. 散列法存储的基本思想是根据 A 来决定 B ,碰撞(冲突)指的是 C ,处理碰撞的两类主要方法是 D 。

供选择的答案⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=n n n n a a a a a a A ,2,1,2,21,21,1ΛΛA,B:①存储地址②元素的符号③元素个数④关键码值⑤非码属性⑥平均检索长度⑦负载因子⑧散列表空间C: ①两个元素具有相同序号②两个元素的关键码值不同,而非码属性相同③不同关键码值对应到相同的存储地址④负载因子过大⑤数据元素过多D:①线性探查法和双散列函数法②建溢出区法和不建溢出区法③除余法和折叠法④拉链法和开地址法答案:A=B=C=D=9. 考虑具有如下性质的二叉树:除叶子结点外,每个结点的值都大于其左子树上的一切结点的值。

并小于等于其右子树上的一切结点的值。

现把9个数1,2,3,…,8,9填入下图所示的二叉树的9个结点中,并使之具有上述性质。

此时,n1的值是A ,n2的值是 B ,n9的值是 C 。

现欲把10放入此树并使该树保持前述性质,增加的一个结点可以放在 D 或 E 。

供选择的答案A~C:①1 ②2 ③3 ④4 ⑤5 ⑥6⑦7 ⑧8 ⑨9D~E:①n7下面②n8下面③n9下面④n6下面⑤n1与n2之间⑥n2与n4之间⑦n6与n9之间⑧n3与n6之间答案:A=B=C=D=E=四、简答题(每小题5分,共25分)1. 说明线性表、栈与队的异同点。

2.试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列3. 假设正读和反读都相同的字符序列为“回文”,例如,‘abba’和‘abcba’是回文,‘abcde’和‘ababab’则不是回文。

假设一字符序列已存入计算机,请分析用线性表、堆栈和队列等方式正确输出其回文的可能性?4. 试比较顺序存储结构和链式存储结构的优缺点。

在什么情况下用顺序表比链表好?5. 给定二叉树的两种遍历序列,分别是:前序遍历序列:D,A,C,E,B,H,F,G,I;中序遍历序列:D,C,B,E,H,A,G,I,F,试画出二叉树B,并简述由任意二叉树B的前序遍历序列和中序遍历序列求二叉树B的思想方法。

五、阅读理解(每小题5分,共20分)1、已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,请写出在P 结点后插入S结点的核心语句序列。

2、阅读下列算法,若有错,改正之。

1.写出下列程序段的输出结果(队列中的元素类型QElem Type为char)。

void main( ){Queue Q; Init Queue (Q);Char x=’e’; y=’c’;EnQueue (Q,’h’); EnQueue (Q,’r’); EnQueue (Q,’y’);DeQueue (Q,x); EnQueue (Q,x);DeQueue (Q,x); EnQueue (Q,’a’);while(!QueueEmpty(Q)){ DeQueue (Q,y);printf(y); };Printf(x);}2.简述以下算法的功能(栈和队列的元素类型均为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);}}六、算法设计(每小题5分,共15分。

至少要写出思路)1. 写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。

2. 编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P 指向该链表的第一个结点)。

3. 试写一个算法,判别读入的一个以‘@’为结束符的字符序列是否是“回文”。

答案一、填空题(每空1分,共15分)1.向量、栈和队列都是 线性 结构,可以在向量的 任何 位置插入和删除元素;对于栈只能在 栈顶 插入和删除元素;对于队列只能在 队尾 插入和 队首 删除元素。

2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为 栈顶 。

不允许插入和删除运算的一端称为 栈底 。

3. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。

4. 在顺序表中插入或删除一个元素,需要平均移动 表中一半元素,具体移动的元素个数与 表长和该元素在表中的位置 有关。

5. 在具有n 个单元的循环队列中,队满时共有 n-1 个元素。

8. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ;平均查找长度为3.7 。

解:显然,平均查找长度=O (log 2n )<5次(25)。

但具体是多少次,则不应当按照公式 )1(log 12++=n n n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。

因为这是在假设n =2m -1的情况下推导出来的公式。

应当用穷举法罗列:全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!!二、判断正误(判断下列概念的正确性,并作出简要的说明。

)(每小题1分,共10分) ( × )1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。

( × )2. 在表结构中最常用的是线性表,栈和队列不太常用。

错,不一定吧?调用子程序或函数常用,CPU 中也用队列。

( √ )3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

( √ )4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

( × ) 5.线性表的逻辑顺序与存储顺序总是一致的( × )6. 栈和队列是一种非线性数据结构。

错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

( √ )7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

( √ )8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

( × )9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

相关文档
最新文档