《数据结构与算法分析》期末试卷A(答案)

合集下载

2022年陕西科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

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、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。

A.543612B.453126C.346521D.2341565、动态存储管理系统中,通常可有()种不同的分配策略。

A.1B.2C.3D.46、已知关键字序列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、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。

下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。

Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ8、在下述结论中,正确的有()。

①只有一个结点的二叉树的度为0。

②二叉树的度为2。

③二叉树的左右子树可任意交换。

④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

2022年苏州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年苏州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年苏州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。

A.NB.2N-1C.2ND.N-12、下列说法不正确的是()。

A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程3、连续存储设计时,存储单元的地址()。

A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。

A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s6、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。

A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=28、在下述结论中,正确的有()。

①只有一个结点的二叉树的度为0。

②二叉树的度为2。

③二叉树的左右子树可任意交换。

④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③B.⑦③④C.②④D.①④9、有关二叉树下列说法正确的是()。

A.二叉树的度为2B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任何一个结点的度都为210、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的()的两趟排序后的结果。

2022年北京邮电大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京邮电大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京邮电大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a, e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是()。

A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,b,c,f, dD.a,e,d,f,c,b2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A.13B.33C.18D.403、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。

A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、下列关于AOE网的叙述中,不正确的是()。

A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。

A.只有e B.有e、b C.有e、c D.无法确定8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

2022年天津理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年天津理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年天津理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下述文件中适合于磁带存储的是()。

A.顺序文件B.索引文件C.哈希文件D.多关键字文件2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。

A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s6、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。

初始时为空,下列判断队空和队满的条件中,正确的是()。

A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)7、下列关于无向连通图特性的叙述中,正确的是()。

2022年哈尔滨工业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年哈尔滨工业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年哈尔滨工业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。

A.5B.6C.8D.92、将线性表的数据元素进行扩充,允许带结构的线性表是()。

A.串B.树C.广义表D.栈3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。

A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ7、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。

A.只有e B.有e、b C.有e、c D.无法确定8、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序()。

A.二叉排序树B.哈夫曼树C.AVL树D.堆9、设X是树T中的一个非根结点,B是T所对应的二叉树。

在B中,X是其双亲的右孩子,下列结论正确的是()。

A.在树T中,X是其双亲的第一个孩子B.在树T中,X一定无右兄弟C.在树T中,X一定是叶结点D.在树T中,X一定有左兄弟10、对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为()。

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将线性表的数据元素进行扩充,允许带结构的线性表是()。

A.串B.树C.广义表D.栈2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、静态链表中指针表示的是()。

A.下一元素的地址B.内存储器的地址C.下一元素在数组中的位置D.左链或右链指向的元素的地址4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、下列选项中,不能构成折半查找中关键字比较序列的是()。

A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、已知关键字序列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,198、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序()。

A.二叉排序树B.哈夫曼树C.AVL树D.堆9、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

2022年长安大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年长安大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年长安大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()。

A.60B.66C.18000D.332、n个结点的完全有向图含有边的数目()。

A.n*nB.n(n+1)C.n/2D.n*(n-1)3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。

A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、下列关于AOE网的叙述中,不正确的是()。

A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。

A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=27、下列选项中,不能构成折半查找中关键字比较序列的是()。

A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508、设X是树T中的一个非根结点,B是T所对应的二叉树。

在B中,X是其双亲的右孩子,下列结论正确的是()。

A.在树T中,X是其双亲的第一个孩子B.在树T中,X一定无右兄弟C.在树T中,X一定是叶结点D.在树T中,X一定有左兄弟9、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。

2022年成都理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年成都理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年成都理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下述文件中适合于磁带存储的是()。

A.顺序文件B.索引文件C.哈希文件D.多关键字文件2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。

A.NB.2N-1C.2ND.N-13、连续存储设计时,存储单元的地址()。

A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。

A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s5、下列关于AOE网的叙述中,不正确的是()。

A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。

A.只有e B.有e、b C.有e、c D.无法确定7、下列叙述中,不符合m阶B树定义要求的是()。

A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107B.108C.214D.2159、设X是树T中的一个非根结点,B是T所对应的二叉树。

在B中,X是其双亲的右孩子,下列结论正确的是()。

A.在树T中,X是其双亲的第一个孩子B.在树T中,X一定无右兄弟C.在树T中,X一定是叶结点D.在树T中,X一定有左兄弟10、下面关于B和B+树的叙述中,不正确的是()A.B树和B+树都是平衡的多叉树B.B树和B+树都可用于文件的索引结构C.B树和B+树都能有效地支持顺序检索D.B树和B+树都能有效地支持随机检索二、填空题11、对n个记录的表r[1..n]进行简单选择排序,所需进行的关键字间的比较次数为______。

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

考 生 承 诺
郑重承诺:
1.已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;
2.不带手机进入考场;
3.考试期间遵守前述规定,若有违规行为,同意按照有关条款接受处理。
考生学号: 考生姓名:

考试时间:1小时30分钟
一、 单项选择题(在四个备选答案中,选出一个正确的答案。每小题2分,共20分)

1、13158)(23nnnnT的时间复杂度是( )。
A.O(n^3) B.O(n^2) C.O(n) D.O(1)
2、下列不属于数据的逻辑结构的是( )。
A.集合 B.索引
C.图 D.树
3、下列数据结构,( )不属于”一对一”结构。
A. 线性表 B. 栈 C. 集合 D.队列

4、链式存储结构时,结点的存储单元地址 ( )。
A. 不一定连续 B.一定不连续
C. 一定连续 D. 部分连续,部分不连续
5、对于一个头指针为head的不带头结点的单链表,判断该表为空的条件是 ( )。
A. head.next = =head B. head!=null
C. head= =null D. head.next = =null
6、在一棵二叉树上第5层的结点数最多是多少( )。
A. 18 B. 16 C. 10 D. 8

7、若将整数A,B,C,D依次进栈,则不可能得到的顺序是( )。
A. ADBC B. DCBA C. ABCD D. ACBD
8、若串s=“Imthesun”,则其子串的个数是( )。
A. 24 B. 28 C. 32 D. 36
9、二叉树的度是( )个。
A.1 B.2 C.3 D.4

10、任选一个记录,以它的关键字作为“基准”,凡关键字小于枢轴的记录均移至枢轴之前,
凡关键字大于枢轴的记录均移至枢轴之后,该排序方法称为( )排序法。
A. 快速 B. 选择 C. 冒泡 D. 插入
二、简答题(每小题10分,共20分)
1、顺序存储结构的队列在实现的时候存在假溢出现象,请说明什么是假溢出?为什么会有
假溢出?如何解决假溢出?

2、简述什么是栈,栈有什么特征。
假设一个栈的入栈序列是字符A、B、C、D、E,若出栈序列是C、D、E、B、A,试分
析入栈和出栈过程;说明若要得到其出栈序列,栈的容量至少应该是多少?

三、算法分析和设计(共20分)
1)分析下面算法并写出对应功能(SqStack为顺序栈)(8分)
public static void rev (SqStack stack)
{
SqStack Stack1=new SqStack (50); //构造一个容量为50的顺序栈对象
while(!stack.isEmpty())
Stack1.push(stack.pop());
SqStack Stack2= new SqStack (50);
while(!Stack1.isEmpty())
Stack2.push(Stack1.pop());
while(!Stack2.isEmpty())
stack.push(Stack2.pop());
}
}

2)请定义一个完成下表内容的线性表链式存储结构的结点类public class Node { },其
中包括创建一个空结点的构造函数、一个能够创建下表数据的构造函数、getXuehao ()函数
(获取学号)和getNext()函数。
(12分);(*参考书目课外题*)
其表结构如下:
Stunum Xingming Cj

四、综合题(每小题10,共40分)
1、某一个数据初始序列为(46,57,32,28,76,35,25,12),请利用直接选
择排序方法写出每次选择和交换后的结果。
2、如下图所示的无向连通网,边表示城市间的路网线路,边上的权表示修该路所需要的代
价。如何选择能够沟通每个城市且总代价最少的n-1条线路,画出其可能的最小生成树。
(*
本题有多种解题方法*)

3、试分析稀疏矩阵的存储方式,应该采用什么方式存储,为什么?并说明如下稀疏矩阵应
该如何存储,并给出行优先的存储组表。

4、对关键码序列:37, 64,24, 39,18, 83,45, 29。请给出二叉排序树的构建过程。
参考答案
一、单项选择题
A B C A C // B A D B A
二、简答题(每小题10分,共20分)
1、 ( 10分 )
答案:
指队尾指针达数组末端,队列中还有空余的空间,但元素不能进队列现象,称为假溢出。
由于队列是一种受限操作,插入在队尾,删除在队首,这种操作会出现假溢出。
采用循环队列,将队列看着是一个首尾相连的圆环。

2、( 10分 )
答案:
1) 栈是存储器中划定的一块受限存储区,限定在栈顶操作。特点是:先进后出
2) 入栈和出栈过程是:入栈A、B、C后;出栈C;然后入栈D;出栈D;然后入栈E;
最后出栈所有元素。
依照其出栈序列,栈的容量至少应该有3Byte容量。

三、算法分析和设计(共20分)
1)( 8分 )
答案:应用栈特点,将栈stack内容逆置。在逆置过程中,借助两个临时栈Stack1和Stack2。
先将stack栈顶元素依次出栈,压入临时栈Stack1中;然后将Stack1栈顶元素依次出栈,压
入临时栈Stack2中;最后将Stack2栈顶元素依次出栈,压入栈stack中,实现将栈stack内
容逆置。

2)( 12分 )
答案: 链式存储结构的结点类定义如下:
public class Node {
String stunum,xingming;
T cj;
Node next;
public Node( )
{ next=null; }
public Node(String obj1, String obj2,T obj3,Node n)
{ stunum =obj1;xingming =obj2; cj =obj3; next=n; }
public String getXuehao ()
{ return stunum; }
public Node getNext()
{ return next; }
}

四、综合题(每小题10,共40分)
1、(10分)
答案:(
46,57,32,28,76,35,25,12) 初态
(12)(
46,57,32,28,76,35,25)
(12,25)(
46,57,32,28,76,35)
(12,25,28)(46,57,32,76,35)
(12,25,28,32)(46,57,76,35)
(12,25,28,32,35)(46,57,76)
(12,25,28,32,35,46)(57,76)
(12,25,28,32,35,46,57)(76)
(12,25,28,32,35,46,57,76)

2、(10分)
参考答案

3、(10分)
答案:
1)如果采用二维数组存储稀疏矩阵,浪费大量存储空间存放零元素。所以
可只存储非零元素,同时把每个元素的行号和列号也记录下来,组成三元组存放
到顺序表或链表中。(5分)
2)三元组表如下:
或者:((6,6,6),(1,3,2),(3,3, 3),(4,3,24),(5,2,11),(6,1,5), (6,4,-7))
4、答案:

相关文档
最新文档