深圳大学 数据结构 树作业
深圳大学 数据结构 查找作业
第九章查找一、基本概念(共40分,每题4分)1、具有12个关键字的有序表,折半查找的平均查找长度________.A、3.1B、4C、2.5D、52、下面关于折半查找的叙述正确的是________A、表必须有序,表可以顺序方式存储,也可以链表方式存储B、表必须有序,而且只能从小到大排列C、表必须有序且表中数据必须是整型,实型或字符型D、表必须有序,且表只能以顺序方式存储3、与其他查找方法相比,散列查找法的特点是_______。
A.通过关键字的比较进行查找B.通过关键字计算元素的存储地址进行查找C.通过关键字计算元素的存储地址并进行一定的比较进行查找D.以上都不是4、适用于折半查找的表的存储方式及元素排列要求为______________。
A.链式方式存储,元素无序B.链式方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序5、已知一个有序表为{11,22,33,44,55,66,77,88,99},则折半查找元素55需要比较______次。
A.1 B.2 C.3 D.46、已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较______次。
A.3 B.4 C.5 7、 D.67、若对数据集{23,44,48,36,52,73,64,58}建立散列表,采用H(k)=k MOD 13计算散列地址,并采用链地址法处理冲突,则元素64的散列地址为。
8、在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插到集合中。
这种方式主要适合于_______。
A.静态查找表B.动态查找表C.静态查找表与动态查找表D.两种表都不适合9、在线性表的哈希存储中,处理冲突有________________和________________两种;装填因子的值越大,存取元素时发生冲突的可能性就________________,装填因子的值越小,存取元素时发生冲突的可能性就________________。
数据结构 第二次作业 测验答案 慕课答案 作业二 UOOC优课 课后练习 深圳大学
数据结构第二次作业一、单选题 (共100.00分)1. 数组的存储方式有以下两种()A. 顺序表和链表B. 堆栈和队列C. 行优先和列优先D. 对称矩阵和三角矩阵正确答案:C2. 广义表的表头是指()A. 表中第一个元素B. 表中最后一个元素C. 除表中第一个元素以外,其余元素组成的子表D. 除表中最后一个元素以外,其余元素组成的子表正确答案:A3. 广义表的表尾是指()A. 表中第一个元素B. 表中最后一个元素C. 除表中第一个元素以外,其余元素组成的子表D. 除表中最后一个元素以外,其余元素组成的子表正确答案:C4. 已知二维数组有4行5列,首元素的数组下标为a00,则数组最后一个元素的数组下标是()A. a44B. a55C. a45D. a34正确答案:D5. 已知对称矩阵有4行4列,必定与元素a23相等的元素是()A. a32B. a33C. a00D. a22正确答案:A6. 已知矩阵A有4行5列,矩阵首元素下标为[0,0],每个元素使用4个字节,现用一维数组B存储该矩阵,数组B的内存首址为10000,若采用行序为主,矩阵元素A[3, 2]在内存的地址是()A. 10052B. 10068C. 10005D. 10020正确答案:B7. 已知广义表L=((x,y,z),a,(u,t,w)),假设head表示取表头运算,tail表示取表尾运算,求head(tail(L))的结果是()A. uB. (x)C. aD. (u, t, w)正确答案:C8. 以下哪一种是串在计算机中的常见表示方式()A. 定长顺序B. 堆分配C. 块链D. 前三种都是正确答案:D9. 在数据结构中,串可以等同于()的处理A. 整数串B. 浮点数串C. 字符串D. 多种类型的数组正确答案:C10. 以下哪一种是串匹配的常用算法()A. 普里姆算法B. 克鲁斯卡尔算法C. KMP算法D. 关键路径算法正确答案:C已知主串为abcbcaddabc,模式串为cad,假设串位置从1开始,则串匹配位置是()A. 3B. 5C. 7D. 不存在正确答案:B12. 已知串S的内容为1+2+3,以下描述哪一个是正确的()A. 串S的长度是6B. 串S的运算结果是6C. 整数1是串S的子串D. 符号+是串S的子串正确答案:D以下描述哪一个是正确的()A. 串是字符有限序列B. 串是整数、浮点数、字符等多种数据的有限序列C. 只包含空格的串称为空串D. 串只能使用顺序表存储正确答案:A串函数Sub(S, x, y)表示在串S中,从x位置开始,取出y个字符,串位置从1开始计算。
数据结构大作业
数据结构大作业在计算机科学领域中,数据结构是非常重要的一个概念。
它是指组织和存储数据的方式,以及对数据进行操作的方法。
数据结构的选择与实现直接影响着算法的复杂度和程序的性能。
因此,在学习数据结构的过程中,一般都会有相应的大作业,以帮助学生更好地理解和应用所学的知识。
本篇文章将重点介绍数据结构大作业的一般要求和一种可能的实现方案,供读者参考。
一、数据结构大作业要求数据结构大作业一般旨在让学生将所学的数据结构知识应用于实际问题的解决。
作业要求通常包括以下几个方面:1. 题目选择:作业题目需要涵盖数据结构的各个方面,例如链表、栈、队列、树、图等等。
题目应具备一定的难度,能够考察学生对数据结构的理解和运用能力。
2. 实现方式:学生需要根据题目要求选择合适的数据结构和算法,并进行实现。
一般要求使用编程语言来完成实现,并给出相应的代码。
3. 功能要求:作业题目通常会要求实现某些特定的功能或解决某些问题。
学生需要确保所实现的程序能够满足这些功能需求,并能正确运行。
4. 性能评估:作业可能会要求对所实现的程序进行性能评估,比如时间复杂度、空间复杂度等。
学生需要能够分析和解释程序的性能,并对可能的改进方法进行讨论。
5. 报告撰写:作业一般要求学生完成一份报告,对所实现的程序进行详细的说明和分析。
报告需要包括程序设计思路、实现细节、运行结果以及遇到的问题和解决方法等。
二、数据结构大作业实现方案示例以下是一个可能的数据结构大作业实现方案示例,以一个简化的社交网络系统为题目:1. 题目描述:设计一个基于图的社交网络系统,能够实现用户的注册、好友关系的建立和查询、用户之间的消息传递等功能。
2. 数据结构选择:可以使用图的数据结构来存储用户和好友关系的信息,使用链表来存储用户的消息队列。
3. 算法实现:根据题目要求,需要实现用户注册、好友关系的建立和查询、消息传递等功能的算法。
可以使用深度优先搜索或广度优先搜索算法来查找用户的好友关系,使用链表来实现用户消息的发送和接收。
数据结构深大经典题
7.3.习题自测第一章数据结构绪论1. 写出算法的特征2. 写出for (i=n; i>0; i/=2); 的时间复杂度第二章线性表1. 循环队列的队首和队尾下标分别为f, r, 最大长度为n, 写出判断队满和队空的条件2. 向量A中已有n个元素,写出删除其第i个位置元素的算法3. 在顺序表中插入和删除一个结点需平均移动多少个结点?具体的移动次数取决于哪两个因素?4. 设线性表的n个结点定义为(a0,a1,…,an-1),重写顺序表上实现的插入和删除算法:InsertList和DeleteList。
5. 设A和B是两个单链表,其表中元素递增有序。
试写一算法将A和B归并成一个按元素值递增有序的单链表C。
第三章栈和队列1. 设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题:⑴. 若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列为何(这里Push(i)表示进栈,Pop()表示出栈)?⑵. 能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。
⑶. 请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。
第四章串1. 现有模式abaabc,写出每个字母的next值。
2. 假设主串abcabadabaabc,模式串如上,说明kmp算法的匹配过程。
3. 回文是指正读和反读均相同的字符序列,如"abba"和"abdba"均是回文,但"good"不是回文。
试写一个算法判定给定的字符向量是否为回文。
(提示:将一半字符入栈)。
第六章树与二叉树1. 若二叉树的先序和中序遍历结果分别是a, b, d, e, c, f, g, h和d, e, b, a, f, c,h, g, 求其后序遍历的结果2. 二叉树的中序和后序遍历结果分别为4, 5, 2, 1, 6, 3, 8, 7和5, 4, 2, 6, 8, 7, 3,1, 求其先序遍历的结果3. 树用孩子兄弟链接法存储,结点结构为:struct Node {char data, struct Node *child, *brother;}写C函数void PreOrder(struct Node *root), 先根遍历树。
数据结构-深圳大学计算机与软件学院
0300 0302
3.0 -2.3 …
0415
-2.3 …
0632 0634
…
-0.7 4.8
z2=-0.7+4.8i
0611 0613
3.0 0415
…
z1=3.0 - 2.3i 指针或链 (地址)
21
第1章
一、数据类型
数据结构绪论
数据类型
第三节
数据类型是一个值的集合和定义在这个值集上 的一组操作的总称
抽象数据类型(ADT)是一个数学模型以及定 义在该模型上的一组操作
抽象数据类型 = 数据结构 + 定义在此数据结 构上的一组操作
26
第1章
数据结构绪论
数据类型
第三节
三、抽象数据类型(ADT表示)
抽象数据类型可用(D,S,P)三元组表示 D是数据对象
S是D上的关系集
P是对D的基本操作集。
27
第1章
数据结构绪论
数据类型
第三节
三、抽象数据类型(ADT定义)
ADT 抽象数据类型名 { 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉
基本操作:〈基本操作(函数)的定义〉
} ADT 抽象数据类型名
28
第1章
数据结构绪论
数据类型
第三节
三、抽象数据类型(ADT定义举例)
ADT Triplet { 数据对象:D = {e1,e2,e3 | e1,e2,e3∈ElemSet} 数据关系:R = {<e1,e2>, <e2,e3>} 基本操作:Max(T, &e) 初始条件:三元组T已存在。 操作结果:用e返回T的3个元素中的最大值。 Min(T, &e) 初始条件:三元组T已存在。 操作结果:用e返回T的3个元素中的最小值。 } ADT Triplet 29
深圳大学数据结构作业汇总
深圳⼤学数据结构作业汇总⼀⑴、判断题1、线性表的特点是每个元素都有⼀个前驱和⼀个后继。
()2、数据的物理结构是指数据在计算机内的实际存储形式。
()3、数据的逻辑结构说明数据元素之间的次序关系,它依赖于计算机的存储结构()⼀⑵、选择题1、⼀个算法应该是()A、问题求解步骤的描述B、程序C、要满⾜五个基本特性D、A和B2、以下数据结构中,()是⾮线性数据结构A、树B、字符串C、队D、栈3、完成在双循环链表结点p之后插⼊s的操作是()A、 p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;B、 p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;C、 s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;D、 s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;4、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。
A、O(n) O(n)B、O(n) O(1)C、O(1) O(n)D、O(1) O(1)5、设⼀个链表最常⽤的操作是在末尾插⼊结点和删除尾结点,则选⽤( )最节省时间。
A、单链表 B.单循环链表 C、带尾指针的单循环链表 D.带头结点的双向循环链表⼀⑶、填空题1、for (j=1; j<=n; j*=2); 的时间复杂度为。
2、在线性结构中,除第⼀个结点外,每个结点都有⼀个结点,除最后⼀个结点外,每个结点都有⼀个结点。
3、数据逻辑结构包括集合和、、四种。
4、for (j=n; j>=1; j/=2); 的时间复杂度为。
深圳大学数据结构树作业
深圳⼤学数据结构树作业数据结构作业⼆(第5-6章:树与⼆叉树,数组和⼴义表)要求:请在2017年11⽉9⽇机房交,迟交适当减分。
⼀、单选题:(每题2分,共12分)1、假设在⼀棵⼆叉树中,双分⽀结点数为15,单分⽀结点数为30个,则叶⼦结点数为______个。
A.15B.16C.17D.472、在⼀棵⼆叉树上第4层的结点数最多为______。
A.2B.4C.6D.83、任何⼀棵⼆叉树的叶⼦结点在先序中序和后序遍历序列中的相对次序___。
A.不发⽣改变B.发⽣改变C.不能确定D.以上都不对4、根据先序序列A B D C和中序序列DB A C确定对应的⼆叉树,该⼆叉树____。
A.是完全⼆叉树B.不是完全⼆叉树C.是满⼆叉树D.不是满⼆叉树5、设森林F中有三棵树,第⼀、第⼆和第三棵树的结点个数分别为N1、N2 和N3。
与森林F对应的⼆叉树根结点的右⼦树上的结点个数是_______。
A.N1B.N1+N2C.N2D. N2+N36.⼀个⼴义表的表头总是⼀个_______。
A.⼴义表B. 元素C. 空表D.元素或⼴义表⼀、简答题:(每空2分,共30分)1.对于⼀棵具有n个结点的树,该树中所有结点的度数之和为。
2.对于⼀棵⼆叉树,若⼀个结点的编号为i,若它的左孩⼦结点存在,右孩⼦结点存在,双亲结点存在,则编号分别为:。
3.设T是⼀棵⼆叉树,除叶⼦结点外,其它结点的度数皆为2,若T中有6个叶结点,则T树的最⼤深度和最⼩可能深度分别为。
4.设给定权值总数有n个,其哈夫曼树的结点总数为:。
5.若⼀棵完全⼆叉树具有35个结点,该树的深度为。
6.在⼀棵⼆叉树的⼆叉链表中,空指针域数是⾮空指针域数:。
7.由3个结点可以构造出种不同形态的⼆叉树,其中树⾼为3的⼆叉树有个。
8.线索⼆叉树中的线索指。
9.在哈夫曼编码中,若编码长度只允许⼩于或等于4,则除了已知两个字符编码为0和10外,还可以最多对个字符编码。
10.⼴义表A=((x,(a,B)),(x,(a,B),y)),则运算h e a d(h e a d(t a i l(A)))的结果为。
数据结构大作业
数据结构大作业平衡二叉树是一种特殊的二叉树结构,在插入或删除节点时,通过旋转操作来保持树的平衡性,从而提高查找、插入或删除操作的效率。
平衡二叉树的一种常见实现方式是AVL树。
AVL树是由俄罗斯数学家Adelson-Velsky和Landis于1962年提出的,它是一种自平衡的二叉树。
在AVL树中,每个节点的左右子树的高度之差(也称为平衡因子)不超过1、当插入或删除节点后导致一些节点的平衡因子超过1时,就需要通过旋转操作进行平衡调整。
具体来说,插入节点时,需要首先将节点插入到AVL树的合适位置。
然后,自底向上地检查每个节点的平衡因子。
如果发现一些节点的平衡因子超过1,则需要进行相应的旋转操作,使树重新恢复平衡。
旋转操作有四种基本情况,分别是LL、RR、LR和RL旋转。
LL旋转发生在一些节点的左子树的左子树上,RR旋转发生在一些节点的右子树的右子树上,LR旋转发生在一些节点的左子树的右子树上,RL旋转发生在一些节点的右子树的左子树上。
通过这些旋转操作,可以使树重新平衡。
删除节点时,需要先找到待删除的节点,并根据其子树的情况进行删除操作。
然后,从被删除节点的父节点向上检查每个节点的平衡因子,如果发现不平衡的节点,也需要进行相应的旋转操作。
AVL树的平衡调整是通过旋转操作来实现的,旋转操作的时间复杂度为O(1),因此平衡调整的时间复杂度为O(logn),其中n为树的节点数。
平衡二叉树的优点是能够保持树的平衡性,提高查找、插入、删除等操作的效率。
总结起来,平衡二叉树是一种特殊的二叉树,通过旋转操作来保持树的平衡性,从而提高查找、插入或删除操作的效率。
AVL树是一种常见的平衡二叉树实现方式,通过LL、RR、LR和RL旋转来使树重新平衡。
平衡二叉树的优点是能够保持树的平衡性,提高操作的效率。
数据结构 第一次作业 测验答案 慕课答案 作业一 UOOC优课 课后练习 深圳大学
数据结构第一次作业一、单选题 (共100.00分)1. 已知栈S为空,数据1、2、3、4依次逐个进入栈S,则栈顶数据为()A. 1B. 2C. 3D. 4正确答案:D2. 栈的最大特点是()A. 先进先出B. 后进先出C. 无限递归D. 有限递归正确答案:B3. 队列的最大特点是()A. 先进先出B. 后进先出C. 无限递归D. 有限递归正确答案:A4. 已知栈包含10元素,其中存放在栈底是第1号元素,则第10号元素可以通过()进行访问A. 栈底B. 栈中C. 栈尾D. 栈顶正确答案:D5. 以下结构中,哪一个是属于物理结构()A. 栈B. 队列C. 链队列D. 线性表正确答案:C6. 使用长度为10的数组实现循环队列,则该队列最多存储数据个数为()A. 1B. 9C. 11.D.5正确答案:B7. 已知顺序表包含1000个数据,现在第88号位置插入新的数据,需要移动的数据个数为()A. 88B. 87C. 912D. 913正确答案:D8. 若线性表最常用的操作是存取第i个元素及其后继的值,则最节省操作时间的存储结构是()A. 单链表B. 双链表C. 单循环链表D. 顺序表正确答案:D9. 以下结构中,哪一个是属于物理结构()A. 线性表B. 栈C. 单链表D. 队列正确答案:C10. 已知顺序表包含100个数据,现在要删除第99号位置的数据,需要移动的数据个数为()A. 99B. 100C. 1D. 2正确答案:C已知指针p指向单链表L的某个结点,判断p指向的结点是尾结点的条件是()A. if (p->next>p)B. if (p->next==NULL)D. if (p->data==0)正确答案:B12. 以下描述哪个是正确的()A. 线性表的数据元素的存储位置一定是连续的B. 顺序表的数据元素的存储位置一定是连续的C. 链表的数据元素的存储位置一定不是连续的D. 线性表的数据元素的存储位置一定不是连续的正确答案:B已知顺序表包含100个数据,先在第15号位置插入1个新数据,接着删除第3号位置的数据,需要移动的数据总个数为()A. 18B. 84C. 184D. 188正确答案:C在数据结构概念中,数据的基本单位是()A. 数据段B. 数据项C. 数据表D. 数据元素D在数据结构概念中,结构是描述()A. 数据项的类型B. 数据元素之间的关系C. 数据成员的先后顺序D. 数据对象的取值范围正确答案:B在算法设计中,要求算法便于理解和修改是属于算法要求的()A. 正确性B. 可读性C. 健壮性D. 效率高正确答案:B以下关于算法的描述,哪个是正确的()A. 算法可以没有输入B. 算法可以包含无限个执行步骤C. 算法可以没有输出D. 算法的每个步骤允许带有歧义的正确答案:抽象数据类型ADT通过三方面描述,包括数据关系、数据操作和()A. 数据对象B. 数据来源C. 数据范围D. 数据判断正确答案:A设n为问题规模,以下程序的时间复杂度为()for (i=1; i<=10000; i++) for (j=1; j<=n; j++) a = a + 1;A. O(1)B. O(n)C. O(10000n)D. O(n2)正确答案:B20.设n为问题规模,以下程序的时间复杂度为() for (i=1; i< POW(2, n); i++) //POW(x, y)函数表示x的y次幂a = a+100;A. O(n)B. O(2n)C. O(n!)D. O(2n)正确答案:D。
2022年深圳大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年深圳大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将线性表的数据元素进行扩充,允许带结构的线性表是()。
A.串B.树C.广义表D.栈2、已知广义表LS=((a,b,c),(d,e,f)),用head和tail数取出LS中原子e的运算是()。
A.head(tail(LS))B.tail(head(LS))C.head(tail(head(tail(LS))))D.head(tail(tail(head(LS))))3、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。
A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V75、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。
A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s6、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,197、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。
数据结构 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
数据结构第八章测验一、单选题 (共100.00分)1. 以下属于静态查找的算法是()A. 二叉排序树B. 折半查找C. B+树D. 键树正确答案:B2. 在哈希查找中,不同关键字却有着相同的哈希地址,这种现象称为()A. 哈希地址B. 散列地址C. 哈希冲突D. 地址探测正确答案:C3. 以下描述正确的是()A. 顺序查找要求数据必须有序B. 折半查找必须使用顺序表C. 顺序查找必须从头开始查找D. 分块查找允许数据完全无序正确答案:B4. 已知数据序列为33、66、22、44,把该序列依次插入到初始为空的二叉排序树中。
现插入新数据35,它将是()A. 22的右孩子B. 33的右孩子C. 44的左孩子D. 66的左孩子正确答案:C5. 以下关于平衡二叉树描述错误的是()A. 平衡二叉树不是二叉排序树B. 平衡二叉树属于动态查找C. 平衡因子的绝对值不能超过1D. 当出现不平衡情况时需要做平衡化处理正确答案:A6. 二叉排序树查找中,哪种数据序列的时间复杂度最差()A. 递增序列B. 递减序列C. 前半递增后半递减D. 与排列无关正确答案:C7. 以下不属于哈希函数设计方法的是()A. 数字分析法B. 除留余数法C. 折叠法D. 链地址法正确答案:D8. 以下属于哈希冲突处理方法的是()A. 直接定址法B. 再哈希法C. 平衡二叉树D. 平方取中正确答案:B9. 已知序列19,01,23,14,55,68,11,82,36,哈希函数H(key)=key MOD 11,哈希冲突处理采用线性探测再散列,哈希表长11,地址从0开始,则68在哈希表的位置是()A. 1B. 2C. 3D. 4正确答案:D10. 给定关键字集合33、15、88、31、28、64、44、58、77,哈希函数H(key)=key MOD 13 ,采用链地址法(表头插入),数组下标5的单链表中包含关键字依次是()A. 44、31B. 31、44C. 58、64D. 33、77正确答案:A。
数据结构 第九章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
数据结构第九章测验一、单选题 (共100.00分)1. 以下属于插入排序的算法是()A. 希尔排序B. 堆排序C. 冒泡排序D. 基数排序正确答案:A2. 以下排序算法时间复杂度最小的是()A. 冒泡排序B. 直接插入排序C. 简单选择排序D. 堆排序正确答案:D3. 以下排序算法稳定的是()A. 希尔排序B. 归并排序C. 简单选择排序D. 堆排序正确答案:B4. 以下排序算法空间复杂度最大的是()A. 堆排序B. 快速排序C. 归并排序D. 直接插入排序正确答案:C5. 现有100万个数据,需要找出最大的前10个数据,最快的算法是()A. 快速排序B. 归并排序C. 简单选择排序D. 希尔排序正确答案:C6. 时间复杂度小于n平方的排序算法是()A. 冒泡排序B. 快速排序C. 简单选择排序D. 直接插入排序正确答案:B7. 已知数列为125、45、88、72、165、33、 28、64,采用起泡排序算法递增排序,第一趟排序共发生()次交换A. 8B. 7C. 6D. 5正确答案:C8. 以下排序算法不稳定的是()A. 直接插入排序B. 归并排序C. 起泡排序D. 堆排序正确答案:D9. 序列19 11 23 14 55 68,采用希尔排序gap为n/2,则第一趟排序()A. 14 19 11 55 23 68B. 19 23 11 14 55 68C. 11 14 19 23 55 68D. 14 19 11 55 33 68正确答案:A10. 序列21 25 49 25* 16 08,采用快速排序,枢轴为序列首元素,则第一趟排序()A. 08 16 21 25 25* 49B. 08 16 21 25* 25 49C. 16 08 21 25* 49 25D. 08 16 21 25* 49 25正确答案:D。
数据结构 第七章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
数据结构第七章测验一、单选题 (共100.00分)1. 以下结构不是存储结构的()A. 邻接表B. 逆邻接表C. 邻接矩阵D. 有向无环图正确答案:D2. 一个有向完全图有10个顶点,它共包含()A. 45条边B. 100条边C. 45条弧D. 90条弧正确答案:D3. 图遍历的算法有()A. 中序遍历B. 普里姆C. 佛洛依德D. 广度优先搜索正确答案:D4. 以下算法中,用于求解两点最短路径的算法是()A. 克鲁斯卡尔B. 迪杰斯特拉C. 普里姆D. 深度优先搜索正确答案:B5. 以下描述错误的是()A. 第一个顶点和最后一个顶点相同的路径称为回路B. 所有顶点不重复出现的路径称为拓扑路径C. 任意两个顶点都存在路径的无向图称为连通图D. 强连通图只包含一个强连通分量正确答案:B6. 已知某个有向图的邻接矩阵中,第i列包含1的总数为5,第i列对应顶点k,则()A. 顶点k的度为5B. 顶点k的出度为5C. 顶点k的入度为5D. 不好说正确答案:C7. 已知有向图G=(V,E),其中V={1,2,3,4,5,6,},E={<2,1>,<3,2>,<1,3>,<5,3>,<1,5>,<2,4>,<1,6>},则出度最大的点是()A. 6B. 4C. 3D. 1正确答案:D8. 已知有向图G=(V,E),其中V={1,2,3,4,5},E={<2,1>,<3,2>,<1,3>,<5,3>,<1,5>,<4,3>},则拓扑序列的起点是()A. 2B. 4C. 3D. 1正确答案:B9. 已知无向图G=(V,E),其中V={1,2,3,4,5,6,7,8}, E={(1, 2), (1, 3), (2, 4), (2, 5), (3, 6), (3, 7), (4, 8), (5, 8)},从1出发,数字小的顶点优先,则深度优先搜索序列为()A. 1 2 3 4 5 6 7 8B. 1 2 4 5 8 3 6 7C. 1 2 4 8 5 3 6 7D. 1 2 3 4 5 8 6 7正确答案:C10. 已知有向图G=(V,E),其中V={a,b,c,d,e},E={<a, e="">,<b, a="">,<c, b="">,<d, c="">,<e, c="">,<e, d="">},从a出发,字母小的顶点优先,则广度优先搜索的序列是()A. a e c d bB. a b d c eC. a d e c bD. a b c d e正确答案:A。
数据结构作业第七章树
数据结构作业第7 章1.假设每个结点值为单个字符,而一棵树的层次遍历序列为ABCDEFGHIJ,则其根结点的值是。
A.A B. B C. J D. 以上都不对2.在一颗3 次树中度为3 的结点数为两个,度为2 的结点数为一个,度为1 的结点数为两个,则度为0 的结点数为个。
A.4 B. 5 C. 6 D. 73 . 对于一棵具有n 个结点、度为4 的树来说,。
A.树的高度最多是n-3B. 树的高度最多是n-3C. 第i 层上最多有4(i-1)个结点D. 至少在某一层上正好有4 个结点4.在任何一棵二叉树中,如果结点a 有左孩子b、右孩子c、则在结点的先序序列、中序序列、后序序列中,。
A.结点b 一定在结点a 前面B. 结点a 一定在结点c 前面C. 结点b 一定在结点c 前面D. 结点a 一定在结点b 前面5.设a、b 为一颗二叉树上的两个结点,在中序序列时,a 在b 之前的条件是。
A.a 在b 的右方 B. a 是b 的祖先C. a 在b 的左方D. a 是b 的子孙6.若二叉树的中序序列是abcdef,且c 为根结点,则。
A.结点c 有两个孩子B. 二叉树有两个度为0 的结点C. 二叉树的高度为5D. 以上都不对7.设有13 个值,用他们组成一颗哈夫曼树,则该哈夫曼树共有个结点。
A.13 B. 12 C.26 D. 258.在n 个结点的线索二叉树中(不计头结点),线索的数目为。
A.n-1B. nC. n+1D. 2n9.一棵度为2 的树中,其结点个数最少为。
10.设某棵树中结点值为单个字符,其后根遍历序列为ABCDEFG,则根结点值为。
11.一共8 层的完全二叉树至少有个结点,具有100 个结点的完全二叉树中结点的最大层数为。
12.设一棵完全二叉树(每个结点值为单个字符)的先序序列为abdecf,则该二叉树的中序序列为、层次序列为。
13.一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。
深圳大学 数据结构 2017_B-树
60 80
90 115 150 200
8
40
80
90
150 200
2)被删关键字所在叶子上面一层结点中的关键字数 目等于m/2-1,而与该结点相邻的右兄弟结点(或左 兄弟结点)中的关键字数目大于m/2-1,则需要将其 右兄弟的最小关键字(或其左兄弟的最大关键字)移 至双亲结点中,而将双亲结点中小于(或大于)该上 移关键字的关键字下移至被删关键字所在的结点中。 例如从图中删除关键字90,结果如图所示。
(d)插入20
(e)插入12、19、40、50
(f)插入56
20 9 15 20 40 9 15 32 40
6 8 10 12 16 18 19 22 26 32 36 50 52 55 56
6 8 10 12 16 18 19 22 26 36 38 50 52 55 56
(g)插入9、26、36、52、55
6 8 15 16 6 8 15 6 8 10 15 16 18 22 32
16 22
(a)插入6、8、15、16
15 20
(b)插入22
15 20
(c)插入10、18、32
15 20 40
6 8 10 16 18 22 32 6 8 10 12 16 18 19 22 32 40 50
6 8 10 12 16 18 19 22 32 50 56
50
删除8
85 28 40
50 85
28
8
40
80
150 200
80
150 200
B-树
[例]一棵3阶的B-树
2 50 root 80
2
20
40
2
55
深大数据结构期末复习
一.判断题(每题1分)(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。
(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。
(ㄨ)(3)数据元素是数据的最小单位。
(ㄨ)(4)数据的逻辑结构和数据的存储结构是相同的。
(ㄨ)(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(√)(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)(7)数据的存储结构是数据的逻辑结构的存储映像。
(√)(8)数据的物理结构是指数据在计算机内实际的存储形式。
(ㄨ)(9)数据的逻辑结构是依赖于计算机的。
(√)(10)算法是对解题方法和步骤的描述。
二.填空题(每题1分)1.数据有逻辑结构和存储结构两种结构。
2.数据逻辑结构除了集合以外,还包括:线性结构、树形结构和图形结构。
3.数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
4.树形结构和图形结构合称为非线性结构。
5.在树形结构中,除了树根结点以外,其余每个结点只有1个前趋结点。
6.在图形结构中,每个结点的前趋结点数和后续结点数可以任意多个。
7.数据的存储结构又叫物理结构。
8.数据的存储结构形式包括:顺序存储、链式存储、索引存储和散列存储。
9.线性结构中的元素之间存在一对一的关系。
10.树形结构结构中的元素之间存在一对多的关系,11.图形结构的元素之间存在多对多的关系。
12.数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)三个方面的内容。
13.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。
14.算法是一个有穷指令的集合。
15.算法效率的度量可以分为事先估算法和事后统计法。
16.一个算法的时间复杂性是算法输入规模的函数。
17.一个算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n的函数。
18.若一个算法中的语句频度之和为T(n)=6n+3n l o g2n,则算法的时间复杂度为O(n l o g2n)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构作业二(第5-6章:树与二叉树,数组和广义表)要求:请在2017年11月9日机房交,迟交适当减分。
一、单选题:(每题2分,共12分)
1、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为______个。
A.15
B.16
C.17
D.47
2、在一棵二叉树上第4层的结点数最多为______。
A.2
B.4
C.6
D.8
3、任何一棵二叉树的叶子结点在先序中序和后序遍历序列中的相对次序___。
A.不发生改变
B.发生改变
C.不能确定
D.以上都不对
4、根据先序序列A B D C和中序序列DB A C确定对应的二叉树,该二叉树____。
A.是完全二叉树
B.不是完全二叉树
C.是满二叉树
D.不是满二叉树
5、设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为N1、N2 和N3。
与森林F对应的二叉树根结点的右子树上的结点个数是_______。
A.N1
B.N1+N2
C.N2
D. N2+N3
6.一个广义表的表头总是一个_______。
A.广义表
B. 元素
C. 空表
D.元素或广义表
一、简答题:(每空2分,共30分)
1.对于一棵具有n个结点的树,该树中所有结点的度数之和为。
2.对于一棵二叉树,若一个结点的编号为i,若它的左孩子结点存在,右孩子结点存在,双亲结点存在,则编号分别为:。
3.设T是一棵二叉树,除叶子结点外,其它结点的度数皆为2,若T中有6个叶结点,则T树的最大深度和最小可能深度分别
为。
4.设给定权值总数有n个,其哈夫曼树的结点总数
为:。
5.若一棵完全二叉树具有35个结点,该树的深度为。
6.在一棵二叉树的二叉链表中,空指针域数是非空指针域数:。
7.由3个结点可以构造出种不同形态的二叉树,其中树高为3的二叉树有个。
8.线索二叉树中的线索指。
9.在哈夫曼编码中,若编码长度只允许小于或等于4,则除了已知两个字符编码为0和10外,还可以最多对个字符编码。
10.广义表A=((x,(a,B)),(x,(a,B),y)),则运算
h e a d(h e a d(t a i l(A)))的结果为。
11.若二维数组A[9][10],从首地址L O C(a00)开始,按行优先顺序存储,每个元素占4个字节,则元素a[8][5]的地址是。
12.数组的存储结构采用存储方式;对矩阵压缩是为
了。
13.树的后序遍历等价于该树对应二叉树的。
二、应用题(共58分)
1.(15分)若二叉树的先序和中序遍历结果分别是a, b, d, e, c, f, g, h和d, e, b, a, f, c, h, g,请画出该树,求其后序遍历结果。
2.(15分)假设一棵树的先根遍历结果是R A D E K B F C,后根遍历
结果是E D K A F B C R。
a)画出该树的示意图。
b)将该树转换为二叉树。
c)假设转换后的二叉树用数组顺序存储,画出数组的存储状
态(用#表示空子树)。
01234567890
A)请画出该树.
B)求二叉树的先序,中序,后根遍历结果.
C)并将此二叉树还原成森林
4.(15分)有n堆石子,a i(1≤i≤n)为第i堆石子个数。
将n堆石子合并成一堆,规定每次可选择任意2堆移出合并,每次合并的分值为新堆的石子数。
若干步后,石子被合并为一堆,得分为每次合并的分值之和。
n堆石子合并为一堆有多种合并方法,其得分可能不同。
用最优二叉树的知识设计算法将石子数分别为10、20、30、40、24、15的6堆石子合并为一堆,使其得
分最小。
给出树的每一步增长过程(要求左子树的权值小于、等于右子树的权值),给出石子合并过程及最小得分。