数据结构试卷06答案

合集下载

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

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

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题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. 编写一个函数,实现链表的插入操作。

2006年下半年全国自考(数据结构)真题试卷(题后含答案及解析)

2006年下半年全国自考(数据结构)真题试卷(题后含答案及解析)

2006年下半年全国自考(数据结构)真题试卷(题后含答案及解析)题型有:1. 单项选择题 2. 填空题 3. 解答题 4. 算法阅读题 5. 算法设计题单项选择题1.数据结构是( )A.一种数据类型B.数据的存储结构C.一组性质相同的数据元素的集合D.相互之间存在一种或多种特定关系的数据元素的集合正确答案:D2.算法分析的目的是( )A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输入与输出的关系D.鉴别算法的可读性正确答案:B3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( )A.插入B.删除C.排序D.定位正确答案:D4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )A.3,2,6,1,4,5B.3,4,2,1,6,5C.1,2,5,3,4,6D.5,6,4,2,3,1正确答案:B5.设串s1=“Data Structures、with Java”,s2=“it”,则子串定位函数index(s1,s2)的值为( )A.15B.16C.17D.18正确答案:C6.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为( ) A.1207B.1209C.1211D.1213正确答案:A7.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是( ) A.队列B.栈C.线性表D.有序表正确答案:A8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( )A.不一定相同B.都相同C.都不相同D.互为逆序正确答案:B9.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( )A.层次遍历算法B.前序遍历算法C.中序遍历算法D.后序遍历算法正确答案:C10.若用邻接矩阵表示一个有向图,则其中每一列包含的”1”的个数为( )A.图中每个顶点的入度B.图中每个顶点的出度C.图中弧的条数D.图中连通分量的数目正确答案:A11.图的邻接矩阵表示法适用于表示( )A.无向图B.有向图C.稠密图D.稀疏图正确答案:C12.在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为( )A.iB.i+1C.n-iD.n-i+1正确答案:D13.下列排序算法中,其时间复杂度和记录的初始排列无关的是( ) A.插入排序B.堆排序C.快速排序D.冒泡排序正确答案:B14.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为( )A.f,c,bB.f,d,bC.g,c,bD.g,d,b正确答案:A15.若在文件中查询年龄在60岁以上的男性及年龄在55岁以上的女性的所有记录,则查询条件为( )A.(性别=“男”)OR(年龄>60)OR(性别=“女”)OR(年龄>55)B.(性别=“男”)OR(年龄>60)AND(性别=“女”)OR(年龄>55)C.(性别=“男”)AND(年龄>60)OR(性别=“女”)AND(年龄>55)D.(性别=“男”)AND(年龄>60)AND(性别=“女”)AND(年龄>55)正确答案:C填空题16.称算法的时间复杂度为O(f(n)),其含义是指算法的执行时间和______的数量级相同。

最新《数据结构》试题及答案(10套)

最新《数据结构》试题及答案(10套)

一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B)方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种(D)。

A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D)参数。

A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的(A)。

A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为(D)。

A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。

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

专升本数据结构试卷答案

专升本数据结构试卷答案

专升本数据结构试卷答案一、选择题(每题 2 分,共 30 分)1、在数据结构中,从逻辑上可以把数据结构分为()。

A 动态结构和静态结构B 紧凑结构和非紧凑结构C 线性结构和非线性结构D 内部结构和外部结构答案:C解析:数据结构从逻辑上分为线性结构和非线性结构。

线性结构是数据元素之间存在一对一的关系,如线性表、栈、队列等;非线性结构是数据元素之间存在一对多或多对多的关系,如树、图等。

2、以下数据结构中,()是非线性数据结构。

A 栈B 队列C 线性表D 二叉树答案:D解析:二叉树是一种非线性数据结构,每个节点最多有两个子节点。

栈、队列和线性表都属于线性数据结构。

3、一个顺序存储的线性表的第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是()。

A 108B 110C 106D 104答案:A解析:第一个元素地址为 100,每个元素长度为 2,所以第 5 个元素的地址为 100 + 2×(5 1) = 108。

4、在单链表中,增加头结点的目的是()。

A 方便运算的实现B 使单链表至少有一个结点C 标识表结点中首结点的位置D 说明单链表是线性表的链式存储实现答案:A解析:头结点的作用是方便运算的实现,比如在插入和删除操作时,可以避免对第一个元素的特殊处理。

5、设栈的顺序存储空间为 S(1:m),初始状态为 top = 0。

现经过一系列入栈与退栈运算后,top = 20,则当前栈中有()个元素。

A 20B 21C m 20D m 19答案:A解析:栈是一种先进后出的数据结构,top 指向栈顶元素的位置,top = 20 说明当前栈中有 20 个元素。

6、循环队列的存储空间为 Q(1:50),初始状态为 front = rear = 25。

经过一系列入队与退队运算后,front = 15,rear = 10,则循环队列中的元素个数为()。

A 5B 6C 16D 49答案:B解析:循环队列中元素个数的计算公式为:(rear front + 50) % 50。

数据结构试卷及答案

数据结构试卷及答案

选择题(查找排序不考)1.下面关于线性表的叙述错误的是(D )。

(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(B )个空指针域。

(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( C )。

(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( A )。

(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有(A )条边。

(A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(C )。

(A) 9 (B) 10 (C) 11 (D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有(B)个表头结点。

(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( C )。

(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,81.设某数据结构的二元组形式表示为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是(B)。

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。

2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。

3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。

4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。

6、三个结点a,b,c组成二叉树,共有种不同的结构。

7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。

8、图的遍历有两种,它们是。

9、堆排序的时间复杂度为。

10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。

二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。

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

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

专科《数据结构》一、 (共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。

1 B.2 C.3 D.4。

标准答案:D7。

线性表的顺序存储结构是一种()的存储结构. (2分)A.顺序存取B.随机存取C.索引存取 D。

Hash存取。

标准答案:B8. 数组a[1。

.256]采用顺序存储,a的首地址为10,每个元素占2字节,则a[21]的地址是()。

(2分)A。

10 B。

30 C。

50 D.70。

标准答案:C9. 深度为4的二叉树,第4层至少有()个结点. (2分)A。

0 B.1 C。

8 D.15。

标准答案:B10. 若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树。

(2分)A.10 B。

11 C。

20 D.21.标准答案:A11。

下面叙述错误的是()。

(2分)A。

借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C.对于单链表进行插入操作过程中不会发生上溢现象D。

在无向图的邻接矩阵中每行1的个数等于对应的顶点度。

标准答案:C12. 以下与数据的存储结构无关的术语是()。

(2分)A。

循环队列 B.双向链表 C。

数据结构答案第6章

数据结构答案第6章

数据结构答案第6章第6章数据结构答案1. 栈的应用栈是一种常见的数据结构,其特点是先进后出。

下面是一些关于栈的应用场景。

1.1 函数调用栈在程序中,每当一个函数被调用时,相关的变量和状态信息会被存储在一个称为函数调用栈的栈中。

1.2 表达式求值栈也常用于表达式求值,特别是中缀表达式转后缀表达式的过程中。

通过使用栈,我们可以很方便地进行算术运算。

1.3 逆序输出如果我们需要逆序输出一段文本、字符串或者其他数据,可以使用栈来实现。

将数据依次压入栈中,然后再逐个弹出即可。

2. 队列的实现与应用队列是另一种常见的数据结构,其特点是先进先出。

下面是一些关于队列的实现和应用。

2.1 数组实现队列队列可以使用数组来实现。

我们可以使用两个指针分别指向队列的前端和后端,通过移动指针来实现入队和出队的操作。

2.2 链表实现队列队列还可以使用链表来实现。

我们可以使用一个指针指向队列的头部,并在尾部添加新元素。

通过移动指针来实现出队操作。

2.3 广度优先搜索(BFS)队列常用于广度优先搜索算法。

在BFS中,我们需要按照层级来访问节点。

使用队列可以帮助我们按照顺序存储和访问节点。

3. 树的遍历和应用树是一种非常重要的数据结构,在计算机科学中应用广泛。

下面是一些关于树的遍历和应用的介绍。

3.1 深度优先搜索(DFS)深度优先搜索是树的一种遍历方式。

通过递归或者使用栈的方式,可以按照深度优先的顺序遍历树的所有节点。

3.2 广度优先搜索(BFS)广度优先搜索也可以用于树的遍历。

通过使用队列来保存要访问的节点,可以按照层级的顺序遍历树。

3.3 二叉搜索树二叉搜索树是一种特殊的二叉树,它的每个节点的值都大于左子树中的值,小于右子树中的值。

这种结构可以用于高效地进行数据查找。

4. 图的表示与遍历图是由节点和边组成的一种数据结构。

下面是一些关于图的表示和遍历的说明。

4.1 邻接矩阵表示法邻接矩阵是一种常见的图的表示方法。

使用一个二维数组来表示节点之间的连接关系。

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

数据结构卷1参考答案及评分标准
一、选择题:(本题满分20分,每小题2分)
1.C
2. C
3.B
4.C
5.A
6.B
7.B
8.C
9.D 10.A
二、填空题:(本题满分20分,每空2分)
1. O(n2)
2. 空间复杂度
3.SXSSXSXX
4. 13
5.串中包含空格的个数
6. n-1
7.()
8. 1
9.先序(前序也可)10.8(24-1)
三、判断题:(本题满分45分,每小题9分,若有误,酌情扣分)
)
1.解:该二叉树为:(9分
(图1)
2.Huffman树如图2所示。

(5分)
图2
WPL=(2+3)*5+(6+7+10)*4+(32+19+21)*2/100=2.61 (2分)
各字符对应的Huffman编码:(2分)
3.用普里姆算法求图1的最小生成树过程(a)~(h),要对应各步次序。

步骤(a) 和步骤(h)各2分,其余每步1分。

(a)

b)
(d)(e)
(f)(g)
(h)
4.(9分)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5.每趟结果3分,共9分
初始序列:201 084 510 062 908 179 897 275 653 426
第一趟排序结果:179084 275062 426201 897 510 653908
第二趟排序结果:179 062 275 084 426 201 653 510 897 908
第三趟排序结果:062 084 179 201 275 426 510 653 897 908
四、算法分析与设计:(本题满分15分,若程序符合题目要求,可给满分,若有误,酌情扣分)
题目要求按递增次序输出单链表中各结点的数据元素,并释放结点所占存储空间。

应对链表进行遍历,在每趟遍历中查找出整个链表的最小值元素,输出并释放结点所占空间;再查次最小值元素,输出并释放空间,如此下去,直至链表为空,最后释放头结点所占存储空间。

当然,删除结点一定要记住该结点的前驱结点的指针。

void MiniDelete(LinkedList head)
{while(head->next!=null)∥循环到仅剩头结点。

{pre=head;∥pre为元素最小值结点的前驱结点的指针。

p=pre->next;∥p为工作指针
while(p->next!=null)
{if(p->next->data<pre->next->data)pre=p;∥记住当前最小值结点的前驱p=p->next;
}
printf(pre->next->data);∥输出元素最小值结点的数据。

u=pre->next;pre->next=u->next; free(u);∥删除元素值最小的结点,释放结点空间 }∥while(head->next!=null)
free(head);} ∥释放头结点。

相关文档
最新文档