浙大城院数据结构期末模拟2
- 格式:doc
- 大小:58.00 KB
- 文档页数:7
班号 学号 姓名 成绩《算法与数据结构(2) 》期末考试卷注意事项:1、关闭手机、将考试用文具以外的物品放于讲台上 2、严格遵守学校的考场纪律,违纪者请出考场 题目:一、 判断题(20分)请在正确的陈述前面括号中打√,在错误的陈述前面括号中打×。
1. ( × )如果一个问题不是NP 问题,那么它有可能是P 问题。
2. ( × )回溯法用深度优先或广度优先法搜索状态空间树。
3. ( × ))(n n O 221=+且)(n n O 222=4. ( × )贪心算法通过增加空间复杂性来减少时间复杂性。
5. ( × )快速排序算法的平均时间复杂度是O(nlogn),使用随机化快速排序算法可以将平均时间复杂度降得更低。
6. ( √ )基于比较的寻找数组A[1...n ]中最大值元素问题的下界是)3/(n Ω。
7. ( √ )直观地讲,P 类问题是易解的问题;而NP 问题是易被验证的问题。
8. ( × )下列问题是一个判定问题:给定一个合取范式,对其中的所有逻辑变量求一组真值赋值,使得给定的合取范式在该组真值赋值下为真。
9. ( √ )max(f(n),g(n))= Θ(f(n)+g(n))10.( √ )若 ))(()(n g O n f =,则 ))(()(n f n g Ω=二、 简答题(30分):1.简述拉斯维加斯(Las Vegas )算法和蒙特卡洛(Monte Carlo )算法的主要区别前者不一定总能给出解,但给出的解一定是正确的; 后者总能给出解,但是给出的解可能是错误的。
2.按照增长率上升的顺序排列以下函数,即,若在你的排序结果中,函数f(n) 跟在 g(n)的后面,则说明应该满足g(n)是O (f(n)):4/31)(n n f = n n f 2)(2= n n f log )(3= !)(4n n f = 22)(5n n f = nn n f log )(6= )(3n f , )(1n f , )(6n f , )(2n f , )(4n f , )(5n f3.推导以下递推式的解:T(n)=2 当n = 1时T(n)=2T(n/3)+2n 当n ≥2时T(n)=2T(n/3)+2n=2[2T(n/32)+2(n/3)]+2n=4T(n/32)+4(n/3)+2n=4[2T(n/33)+2(n/32)]+ 4(n/3)+2n=8T(n/33)+8(n/32)+ 4(n/3)+2n=…设n=3k=2k T(n/3k )+ 2k (n/3k-1)+ 2k-1 (n/3k-2)+…+ 4(n/3)+2n =2k 2+2n[(2/3)k-1 +(2/3)k-2 +…+2/3+1]=2k 2+6n[1-(2/3)k]=2k 2+6n-6.2k=6n-4.2k=6n-4.2=n n3log246⋅-4.请给出基于比较的对数组A[1…n]进行排序问题的最紧的下界,并写出两个平均时间复杂度为该下界的排序算法的名称。
数据结构与算法模拟习题(附参考答案)一、单选题(共86题,每题1分,共86分)1.具有5个顶点的有向完全图有多少条弧?A、16B、20C、25D、10正确答案:B2.下列程序的时间复杂度为()。
i = 0; s = 0;while(s < n){i++;s = s + i;}A、Θ(n)B、Θ(1)C、Θ(n2)D、Θ(n½)正确答案:D3.栈和队列的共同点是()。
A、没有共同点B、只允许在端点处插入和删除元素C、都是先进后出D、都是先进先出正确答案:B4.下面描述中正确的为( )。
A、线性表的逻辑顺序与物理顺序总是一致的B、线性表的顺序存储表示优于链式存储表示。
C、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
D、二维数组是其数组元素为线性表的线性表。
正确答案:C5.对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多?A、从大到小排好的B、元素无序C、元素基本有序D、从小到大排好的正确答案:D6.表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为(),其中^为乘幂。
A、3, 2, 8;( * ^ -B、3, 2, 4, 2, 2;( * ^ ( -C、3, 2, 4, 1, 1;( ^ ( + -D、3, 2, 8;( * ^ ( -正确答案:D7.二叉树的高度若根节点为高度1,一棵具有 1025 个结点的二叉树的高度为▁▁▁▁▁ 。
A、10~1024 之间B、11~1025 之间C、10D、11正确答案:B8.数据采用链式存储结构时,要求( )A、每个节点占用一片连续的存储区域B、所有节点占用一片连续的存储区域C、节点的最后一个数据域一定是指针类型D、每个节点有多少个后继就设多少个指针域正确答案:A9.在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是:A、将N个结点从小到大排序B、删除第i个结点(1≤i≤N)C、访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)D、在第i个结点后插入一个新结点(1≤i≤N)正确答案:C10.将元素序列{18, 23, 4, 26, 31, 33, 17, 39}按顺序插入一个初始为空的、大小为13的散列表中。
2022年浙大城市学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。
A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A.13B.33C.18D.403、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4、在用邻接表表示图时,拓扑排序算法时间复杂度为()。
A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)5、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。
A.543612B.453126C.346521D.2341566、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。
A.只有e B.有e、b C.有e、c D.无法确定7、下列关于无向连通图特性的叙述中,正确的是()。
Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。
A.CBEFDAB.FEDCBAC.CBEDFAD.不定9、每个结点的度或者为0或者为2的二叉树称为正则二叉树。
n个结点的正则二叉树中有()个叶子。
A.log2nB.(n-1)/2C.log2n+1D.(n+1)/210、在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()。
《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。
6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。
7. 树的根结点的度为______,度为0的结点称为______。
8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。
三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。
10. 简述二叉树的遍历方法。
11. 简述图的存储结构及其特点。
四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。
13. 编写一个算法,实现队列的出队操作。
五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。
15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。
答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。
2022年浙大城市学院数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、某一计算机采用主存Cache存储层次结构,主存容量有8个块,Cache容量有4个块,采取直接映射方式。
若主存块地址流为0,1,2,5,4,6,4,7,1,2,4,1,3,7,2,一开始Cache为空,此期间Cache的命中率为()。
A.13.3%B.20%C.26.7%D.33.3%2、有效容量为128KB的Cache,每块16B,8路组相联。
字节地址为1234567H的单元调入该Cache,其tag应为()。
A.1234HB.2468HC.048DHD.12345H3、假定有4个整数用8位补码分别表示:rl=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是()。
A.rlxr4B.r2xr3C.rlxr4D.r2xr44、串行运算器结构简单,其运算规律是()。
A.由低位到高位先行进行进位运算B.由低位到高位先行进行借位运算C.由低位到高位逐位运算D.由高位到低位逐位运算5、某机字长8位,含一位数符,采用原码表示,则定点小数所能表示的非零最小正数为()A.2-9B.2-8C.2-7D.2-66、为了对n个设备使用总线的请求进行仲裁,如果使用独立请求方式,则需要()根控制线。
A.nB.log2n+2C.2nD.37、下列关于同步总线的说法中,正确的有()。
I.同步总线一般按最慢的部件来设置公共时钟II.同步总线一般不能很长III.同步总线一般采用应答方式进行通信IV.通常,CPU内部总线、处理器总线等采用同步总线A. I,IIB. I,II,IVC.III,IVD.II,III,IV8、已知计算机A的时钟频率为800MHz,假定某程序在计算机A上运行需要12s。
现在硬件设计人员想设计计算机B,希望该程序在B上的运行时间能缩短为8s,使用新技术后可使B的时钟频率大幅度提高,但在B上运行该程序所需要的时钟周期数为在A上的1.5倍。
浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验七栈的顺序表示和实现学生姓名专业班级学号实验成绩指导老师(签名)日期一.实验目的和要求1、掌握栈的存储结构及其基本操作。
学会定义栈的顺序存储结构及其各种基本操作的实现。
2、掌握栈的后进先出原则。
3、通过具体的应用实例,进一步熟悉和掌握栈在实际问题中的运用。
二.实验内容1、设栈采用顺序存储结构(用动态数组),请编写栈的各种基本操作的实现函数,并存放在头文件SeqStack.h中。
同时建立一个验证操作实现的主函数文件test3_1.cpp,编译并调试程序,直到正确运行。
2、选做:编写函数,判断给定的字符串是否中心对称。
如字符串“abcba”、“abccba”均为中心对称,字符串“abcdba”不中心对称。
要求利用SeqStack.h中已实现的有关栈的基本操作函数来实现。
请把该函数添加到文件test3_1.cpp中的主函数前,并在主函数中添加相应语句进行测试。
3、填写实验报告,实验报告文件取名为report7.doc。
4、上传实验报告文件report7.doc、源程序文件test3_1.cpp及SeqStack.h 到Ftp服务器上自己的文件夹下。
三. 函数的功能说明及算法思路(包括每个函数的功能说明,及一些重要函数的算法实现思路)函数功能bool InitStack (Stack &S);//初始化线形表ElemType Pop(Stack &S);//删除栈顶元素,并返回ElemType Peek(Stack S);//读取栈顶元素的值并且返回void Push(Stack &S, ElemType item);//将item值的元素进栈int EmptyStack (Stack S);//判空void ClearStack (Stack &S);//清除bool IsReverse(char *h,Stack &S);//判断字符串h是否和栈s相匹配算法实现思路将输入的字符依次输入到栈s中,字符串h中,后利用栈先进后出原理,将s末尾的字符依次和h开始对应位置的字符匹配比较四. 实验结果与分析(包括运行结果截图、结果分析等)结果分析:刚开始没元素进栈,故栈为空后元素进栈调用ElemType Pop(Stack &S);删除并返回栈顶元素ElemType Peek(Stack S);//读取栈顶元素的值并且返回最后判空依次输出s内的值调用bool IsReverse(char *h,Stack &S);判断回文五. 心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。
数据结构期末考试试题及答案数据结构期末考试试题及答案随着信息时代的到来,数据的处理和管理变得愈发重要。
数据结构作为计算机科学的基础课程之一,对于培养学生的编程思维和解决问题的能力具有重要意义。
数据结构期末考试是对学生掌握该课程知识的一次全面检验。
本文将为大家提供一些常见的数据结构期末考试试题及答案,希望能够对大家复习备考有所帮助。
1. 请解释什么是数据结构,并举例说明。
数据结构是指在计算机中组织和存储数据的方式。
它关注的是数据的逻辑关系和操作,而不仅仅是数据本身。
常见的数据结构有数组、链表、栈、队列、树等。
举例来说,数组是一种线性结构,它将相同类型的数据元素按照一定的顺序存储在一块连续的内存空间中,可以通过索引来访问和修改元素。
2. 请说明数组和链表的区别,并分别列举它们的优缺点。
数组和链表都是常见的线性数据结构,但它们在存储方式和操作上有所不同。
数组将元素存储在连续的内存空间中,通过索引可以直接访问和修改元素。
链表则通过节点和指针的方式将元素串联起来,每个节点包含数据和指向下一个节点的指针。
数组的优点是访问速度快,可以通过索引直接定位元素,适合随机访问。
缺点是插入和删除操作比较耗时,需要移动其他元素。
链表的优点是插入和删除操作简单高效,只需要修改指针即可,不需要移动其他元素。
缺点是访问速度较慢,需要遍历链表才能找到指定位置的元素。
3. 请解释什么是栈和队列,并分别列举它们的应用场景。
栈和队列都是常见的线性数据结构,它们在数据的插入和删除操作上有所不同。
栈是一种后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。
队列是一种先进先出(FIFO)的数据结构,允许在队尾进行插入操作,在队头进行删除操作。
栈的应用场景有很多,比如函数调用栈、表达式求值、括号匹配等。
函数调用栈用于保存函数的局部变量和返回地址,保证函数的正确执行顺序。
表达式求值中,栈可以用于保存运算符和中间结果,实现正确的计算顺序。
浙大城市学院数据结构期中练习题(含答案)一、单项选择题1.针对线性表,在存储后如果最常用的操作是取第i个结点及其前驱,则采用(BD )存储方式最节省时间。
A.单链表B.双链表C.单循环链表D.顺序表2.线性表采用链式存储时,其地址(B C )。
A.一定是不连续的B.必须是连续的C.可以连续也可以不连续D.部分地址必须是连续的3.数据结构中,与所使用的计算机无关的是数据的( A D)结构。
(第2页)A.物理B.存储C.逻辑与物理D.逻辑4.带头结点的单向链表的头指针为head,该链表为空的判定条件是(A )的值为真。
A.head = = NULL B.head->next= =headC.head->next= = NULL D.head = =head->next5.以下特征中,(D )不是算法的特性。
A.有穷性B.确定性C.可行性D.有0个或多个输出6.设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为( D A )。
A.n/2 B.n C.n-1 D.n-i+17.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),则移动元素个数为(BA )。
A.n-i+1 B.n-i C.n-i-1 D.i8.一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是(A )(进出栈操作可以交替进行)A.5,8,6,7 B.7,6,8,5C.7,6,5,8 D.8,7,6,59.栈的插入删除操作在(D )进行。
A.栈底B.任意位置C.指定位置D.栈顶10.栈和队列的相同点是(D )。
A.都是后进先出B.都是后进后出C.逻辑结构与线性表不同D.逻辑结构与线性表相同,都是操作规则受到限制的线性表11.以下说法正确的是(C )。
A.栈的特点是先进先出,队列的特点是先进后出B.栈和队列的特点都是先进后出C.栈的特点是先进后出,队列的特点是先进先出D.栈和队列的特点都是先进先出12.在C语言中,利用数组a存放字符串“Hello”,以下语句中正确的是( A )。
诚信应考 考出水平 考出风格浙江大学城市学院2011 — 2012 学年第 一 学期期末考试试卷《 数据结构基础 》开课单位: 计算分院 ;考试形式:闭卷;考试时间: 2012 年 1 月 3 日; 所需时间: 120 分钟一.选择题 (本大题共 15 题,每题 1 分,共 15 分)1.从逻辑上可以把数据结构分成 。
A. 动态结构和静态结构B. 顺序组织和链接组织C. 线性结构和非线性结构D. 基本类型和组合类型 2.执行下面程序段时,执行S 语句的频度为 。
for(int i=1;i<=n;i++) for(int j=1;j<=i;j++)S;A. n 2B. n 2/2C. n(n+1)D. n(n+1)/23.若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用下列 存储方式最节省运算时间。
A. 单链表B. 仅有指向表头指针的单循环链表C. 双链表D. 仅有指向表尾指针的单循环链表 4.带头结点的单链表L 为空的判断条件是 。
A. L== NULLB. L->next==NULLC. L->next==LD. L!= NULL 5.允许对队列进行的操作有 。
A. 对队列中的元素排序B. 取出最近入队的元素C. 在队头元素之前插入元素D. 删除队头元素6.在计算递归函数时,如不用递归过程,应借助于 这种数据结构。
A. 线性表 B. 栈 C. 队列 D. 双向队列7.若用一个大小为6的一维数组来实现循环队列,且当前rear和front的值分别为0 和3。
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( )。
A. 4 和2B. 2 和4C. 1 和5D. 5 和18.在有n个结点的二叉树的二叉链表表示中,空指针数。
A. 不定B. n+1C. nD. n-19.设x和y是二叉树中的任意两个结点,若在先序遍历中x在y之前,而在后序遍历中x在y 之后,则x和y的关系是。
《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
数据结构期末考试题及答案一、单项选择题(每题3分,共30分)1. 在数据结构中,最基本的数据结构是()。
A. 线性结构B. 树形结构C. 图形结构D. 非线性结构答案:A2. 栈是一种特殊的线性表,其特点是()。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C3. 在二叉树中,度为2的结点数为n,度为1的结点数为m,度为0的结点数为p,则m的值为()。
A. n-1B. n+1C. p-1D. p+1答案:A4. 哈希表的构造方式是()。
A. 线性结构B. 树形结构C. 链式结构D. 索引结构答案:D5. 在图的遍历过程中,深度优先搜索算法采用的是()。
A. 队列B. 栈C. 链表D. 树答案:B6. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C7. 以下哪个排序算法是不稳定的排序算法()。
A. 冒泡排序B. 快速排序C. 归并排序D. 堆排序答案:B8. 在数据库中,索引通常采用哪种数据结构()。
A. 线性表B. 树形结构C. 图形结构D. 散列表答案:B9. 以下哪个不是二叉搜索树的性质()。
A. 左子树上所有结点的值都小于它的根结点的值B. 右子树上所有结点的值都大于它的根结点的值C. 左、右子树也分别为二叉搜索树D. 所有结点的值都相等答案:D10. 在图的表示方法中,邻接矩阵适用于表示()。
A. 稠密图B. 稀疏图C. 有向图D. 无向图答案:A二、填空题(每题4分,共20分)1. 在数据结构中,一个算法的空间复杂度是指算法在执行过程中需要的___________。
答案:存储空间2. 堆排序中,调整堆的过程称为___________。
答案:堆化3. 在图的遍历中,广度优先搜索使用的辅助数据结构是___________。
答案:队列4. 一个长度为n的链表,删除第i个元素的时间复杂度是___________。
模拟21.数据在计算机内存中的表示是指。
A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系2. 对线性表,在下列情况下应当采用链表表示的是。
A. 经常需要随机地存取元素B. 经常需要进行插入和删除操作C. 表中元素需要占据一片连续的存储空间D. 表中的元素个数不变3.与单链表相比,双链表的优点之一是。
A.插入、删除操作更加简单。
B.可随机访问。
C.可以省略表头指针或表尾指针D.访问前驱结点更加方便4.如果最常用的操作是取第i个结点及前驱,则采用存储方式最节省时间。
A.顺序表 B.双链表C.单循环链表 D.单链表5.可以用带表头附加结点的链表表示线性表,也可以用不带表头附加结点的链表表示线性表,前者最主要的好处是。
A.可以加快对表的遍历 B. 使空表和非空表的处理统一C.节省存储空间 D. 可以提高存取表元素的速度6. 一个队列的入队序列是1,2,3,4, 则队列的输出序列是。
A. 4,3,2,1B. 1,2,3,4C. 1,4,3,2D. 3,2,4,17.栈和队列的共同点是。
A.都是先进先出 B.都是先进后出C.属于非线性结构 D.只允许在端点处插入和删除元素8.以下不是栈的基本运算的是。
A.删除栈顶元素 B. 删除栈底元素C.判断栈是否为空 D. 将栈置为空栈9.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,若从运行时间来看,通常__________。
A.非递归算法比递归算法快B.非递归算法比递归算法慢C.非递归算法与递归算法时间一样D.非递归算法与递归算法时间不一定10. 在一个非空二叉数的中序遍历序列中,根结点的右边。
A. 只有右子树上的所有结点B.只有右子树上的部分结点C. 只有左子树上的部分结点D.只有左子树上的所有结点11. 有关树和二叉树的叙述错误的有。
A. 树中的最大度数没有限制,而二叉树结点的最大度数为2;B. 树的结点无左右之分,而二叉树的结点有左右之分;C. 树的每个结点的孩子数为0到多个, 而二叉树每个结点均有两个孩子;D. 树和二叉树均为树形结构。
诚信应考 考出水平 考出风格浙江大学城市学院2012— 2013学年第二学期期末考试试卷《数据库系统原理》开课单位: 计算分院 ;考试形式:闭卷;考试时间:_2013_年_6_月27_日; 所需时间: 120 分钟一、__选择题___(本大题共__10__题,每小题__2__分,共___20___分。
) 1. 使用二维表格结构表达实体及实体间联系的数据模型是( )。
A. 层次模型 B. 网状模型 C. 关系模型 D. 面向对象模型2. 用户的应用程序与数据库的逻辑结构是相互独立的,数据的逻辑结构改变了,用户程序可以不变,这是指( )A. 数据的物理独立性B. 数据的逻辑独立性C. 数据的位置独立性D. 数据的语义独立性3. 在关系代数运算中,专门的关系运算有( )。
A .并、差、交 B. 除、笛卡儿积 C. 与、或、非 D. 选择、投影、连接4.设有一个关系:DEPT (DNO ,DNAME ),如果要找出第二个字母为A ,并且至少包含3个字母的DNAME ,则查询条件子句应写成WHERE DNAME LIKE ( ) A. ‘_A_%’ B. ‘%A__’ C. ‘%_A_’ D. ‘_A_%_’5. 在SQL 中,用户被授予特权的命令是( ),撤销特权的命令是( )。
A. GRANT , RECALL B. GRANT , REVOKE C. GIVEN , WITHDRAWN D. ASSIGN , CANCEL6. 在关系代数中,可以用()和()表示连接运算。
A.投影B. 笛卡尔积C.选择D. 交7. 当事务R对数据对象A加上排它锁,则其他任何事务对A()。
A. 可以加排它锁B. 可以加共享锁C. 可以加排它锁和共享锁D. 不可以加任何类型的锁8. 对于违犯实体完整性和用户定义的完整性的操作一般都采用()的方式进行处理。
A. 执行B. 部分执行C. 由用户选择是否执行D. 拒绝执行9. X,Y是关系R上的两个属性集,当X,Y之间具有1对多联系时,则存在的函数依赖是()。
模拟试卷11.对于给定的n个元素,可以构造出的逻辑结构由这几种结构。
A.动态结构和静态结构B.线性表、栈、队列、字符串C.顺序结构、链表结构、线性结构、非线性结构D.集合、线性结构、树形结构、图形结构2.算法效率的度量的一种是时间复杂度,它与直接相关。
A.数据类型B.数据结构C.算法D.空间复杂度3.一个顺序表所占存储空间的大小与无关。
A.顺序表长度B.结点类型C.结点中各数据域的类型D.结点的存放次序4.线性表是具有n个的有限序列。
A.表元素B.字符C.数据项D.数据元素5.线性表在时,宜采用链式存储方式。
A.需不断对其进行插入删除B.需经常对其进行查找C.无足够连续存储空间D.其结点含大量信息6.设输入元素为1、2、3、P和A,输入次序为123PA,元素经过栈后得到各种输出序列,则可以作为高级语言变量名的序列有种。
A.4 B.5 C.6 D.77.一个队列的入队序列为a,b,c,d,则该队列的输出序列是。
A.d,c,b,a B.a,b,c,dC.a,d,c,b D.c,b,d,a8. 按照二叉树定义,具有3个结点的二叉树共有种形态。
A.3 B.4 C.5 D.69.如果用二叉链表来表示一棵具有n(n>1)个结点的二叉树,则在二叉链表中。
A.至多有n-1个非空的右指针域B.至少有2个空的右指针域C.至少有2个非空的左指针域D.至多有n-1个空的右指针域10.在高度为h的完全二叉树中,。
A.第i(1≤i<h)层上结点的度都为2 B.第i(1≤i<h)层上有2i-1个结点C.度为0的结点都在第h层上D.不存在度为1 的结点11.二叉树若用顺序存储结构(数组)存放,则下列四种运算中的最容易实现。
A.先序遍历二叉树B.判断两个结点是不是在同一层上C.层次遍历二叉树D.根据结点的值查找其存储位置12. 对某个无向图的邻接矩阵来说,下列叙述正确的是。
A.第i行上的非零元素个数和第i列上的非零元素个数一定相等B.矩阵中的非零元素个数等于图中的边数C.第i行与第i列上的非零元素的总数等于顶点vi的度数D .矩阵中非全零行的行数等于图中的顶点数13. G 是一个非连通无向图,共有15条边,则该图至少有 个顶点。
数据结构期末试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,从逻辑上可以把数据结构分为()。
A. 线性结构和非线性结构B. 顺序存储结构和链式存储结构C. 数组和链表D. 栈和队列答案:A2. 下列选项中,不属于线性表的顺序存储结构的是()。
A. 数组B. 链表C. 栈D. 队列答案:B3. 在二叉树的遍历过程中,先序遍历的顺序是()。
A. 左-右-根B. 根-左-右C. 右-左-根D. 根-右-左答案:B4. 哈希表解决冲突的常用方法不包括()。
A. 分离链接法B. 开放定址法C. 链地址法D. 二分查找法答案:D5. 一个长度为n的线性表,若采用顺序存储结构,则平均查找长度为()。
A. n/2B. nC. 1D. 3/4*n答案:A6. 在图的遍历过程中,深度优先搜索(DFS)的遍历顺序是()。
A. 先根节点,再邻接节点B. 先邻接节点,再根节点C. 先根节点,再非邻接节点D. 先非邻接节点,再根节点答案:A7. 排序算法中,时间复杂度为O(nlogn)的算法是()。
A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B8. 在数据库中,索引的作用是()。
A. 提高数据存储效率B. 提高查询效率C. 减少数据冗余D. 提高数据安全性答案:B9. 以下哪个选项不是二叉搜索树的性质()。
A. 左子树上所有节点的值小于它的根节点的值B. 右子树上所有节点的值大于它的根节点的值C. 左子树和右子树都是二叉搜索树D. 所有节点的值都是唯一的答案:D10. 在希尔排序中,增量序列的选择对排序结果的影响是()。
A. 影响排序的稳定性B. 影响排序的时间复杂度C. 影响排序的效率D. 没有影响答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,只能在一端进行插入和删除操作。
答案:后进先出(LIFO)2. 一个具有n个顶点的无向图,其最多有______条边。
数据结构期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的主要区别在于()。
A. 结构是否有序B. 结构中元素之间是否有一对一的对应关系C. 结构中元素之间是否有多对多的对应关系D. 结构中元素之间是否有一对多的对应关系答案:B2. 栈的基本操作不包括()。
A. 入栈B. 出栈C. 排序D. 查看栈顶元素答案:C3. 在二叉树中,度为2的节点称为()。
A. 叶子节点B. 分支节点C. 内部节点D. 根节点答案:B4. 哈希表解决冲突的方法不包括()。
A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D5. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:C6. 链表不具有的特点是()。
A. 动态存储B. 随机访问C. 无需额外空间D. 可变长度答案:B7. 归并排序的时间复杂度是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B8. 队列的特点是()。
A. 后进先出B. 先进先出C. 先进后出D. 后进后出答案:B9. 深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。
A. 搜索方向B. 搜索顺序C. 搜索深度D. 搜索广度答案:B10. 图的遍历算法不包括()。
A. 深度优先搜索B. 广度优先搜索C. 回溯法D. 动态规划答案:D二、填空题(每题2分,共20分)1. 在数据结构中,____是指元素之间存在一对一的对应关系。
答案:线性结构2. 栈的特点是____,即后进先出。
答案:LIFO3. 完全二叉树是一种特殊的二叉树,其中除了最后一层外,每一层都被完全填满,并且最后一层的所有节点都尽可能地靠____。
答案:左4. 哈希表是一种通过____来访问数据的数据结构。
答案:哈希函数5. 在排序算法中,____排序是一种不稳定的排序算法。
模拟2
1.数据在计算机内存中的表示是指。
A. 数据的存储结构
B. 数据结构
C. 数据的逻辑结构
D. 数据元素之间的关系
2. 对线性表,在下列情况下应当采用链表表示的是。
A. 经常需要随机地存取元素
B. 经常需要进行插入和删除操作
C. 表中元素需要占据一片连续的存储空间
D. 表中的元素个数不变
3.与单链表相比,双链表的优点之一是。
A.插入、删除操作更加简单。
B.可随机访问。
C.可以省略表头指针或表尾指针
D.访问前驱结点更加方便
4.如果最常用的操作是取第i个结点及前驱,则采用存储方式最节省时间。
A.顺序表 B.双链表
C.单循环链表 D.单链表
5.可以用带表头附加结点的链表表示线性表,也可以用不带表头附加结点的链表表示线性表,前者最主要的好处是。
A.可以加快对表的遍历 B. 使空表和非空表的处理统一
C.节省存储空间 D. 可以提高存取表元素的速度
6. 一个队列的入队序列是1,2,3,4, 则队列的输出序列是。
A. 4,3,2,1
B. 1,2,3,4
C. 1,4,3,2
D. 3,2,4,1
7.栈和队列的共同点是。
A.都是先进先出 B.都是先进后出
C.属于非线性结构 D.只允许在端点处插入和删除元素
8.以下不是栈的基本运算的是。
A.删除栈顶元素 B. 删除栈底元素
C.判断栈是否为空 D. 将栈置为空栈
9.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,若从运行时间来看,通常__________。
A.非递归算法比递归算法快B.非递归算法比递归算法慢
C.非递归算法与递归算法时间一样D.非递归算法与递归算法时间不一定
10. 在一个非空二叉数的中序遍历序列中,根结点的右边。
A. 只有右子树上的所有结点
B.只有右子树上的部分结点
C. 只有左子树上的部分结点
D.只有左子树上的所有结点
11. 有关树和二叉树的叙述错误的有。
A. 树中的最大度数没有限制,而二叉树结点的最大度数为2;
B. 树的结点无左右之分,而二叉树的结点有左右之分;
C. 树的每个结点的孩子数为0到多个, 而二叉树每个结点均有两个孩子;
D. 树和二叉树均为树形结构。
12.深度为k的完全二叉树至少有个结点,至多有个结点。
A. (2k-1, 2k-1)
B. (2k-1, 2k)
C. (2k-1, 2k)
D. (2k-1-1, 2k-1)
13. 具有4个顶点的无向完全图,有条边。
A. 3
B. 6
C. 12
D. 16
14.一个具有n个顶点的无向图,要确保是一个连通图,至少需要条边。
A. n-1
B. n
C. n+1
D. n/2
15.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。
A. 4
B. 2
C. 1
D. 1/2 二.填空题 (本大题共 10 个空,每个空 2 分,共 20 分)
1. 数据的逻辑结构被分为集合、 、 、图形结构四种。
2. 数据的存储结构主要分为 和 两种。
3. 不同形式的时间复杂度O(logn)、O(nlogn)、O(n)、O(n 2
)、O(2n
),随着n 的增长,其增长速度关系为(按从小到大排列) 。
4.在单链表中,要删除某一指定的结点,必须找到该结点的 。
5. 在一个长度为n 的顺序表中删除表中的第i 个元素(0≤i ≤n-1)时,需向前移动 元素。
6. 已知某无向图的二元组表示为 DS=(K, R), K={a, b, c, d, e},R={r},
r={(a,b),(a,c),(a,d),(b,e),(d,e),(c,d),<c,b>},则顶点b 的度为 。
7. 已知一棵树用广义表表示为a(b, c(d(e(f), g, h), i), j),则此树的度为 ,深度为 。
三.解答题 ( 本大题共 3 题,每题 6 分,共 18 分)
1.设有字符串 3*a-b/4 ,试利用栈写出将此次序改变为3a*b4/- 的操作步骤。
例如: ABC 变BCA ,操作步骤为 Push; Push; Pop; Push; Pop; Pop 。
2.已知一棵二叉树的中序遍历序列是abcdjefhgi ,前序遍历序列是 eadcbjfghi ,请画出这棵二叉树,并写出这棵二叉树的后序遍历序列。
3. 设有向图G=(V,E),V={V1,V2,V3,V4,V5,V6},G 的邻接矩阵如下:
0 1 1 0 0 0
0 0 0 0 1 1
0 0 0 1 0 0
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 0
①请画出图G的强连通分量;
②请根据邻接矩阵存储结构有向图的广度优先遍历算法,写出从顶点V1出发所得到的顶点序列。
1.设head为非递减有序的单链表的头指针,单链表中各结点的值依次为 ( 2, 3, 3, 3, 4, 7,
8, 8, 9, 10,10) ,阅读下列算法,写出运行该算法后单链表中各结点的值。
void fun1(LNode* &head )
{
LNode *p=head, *q;
while ( p != NULL && p-> next != NULL ) {
if ( p->data == p->next->data) {
q = p->next;
p->next = q->next;
free(q);
}
else p = p->next;
}
}
2.阅读下列程序,说明该算法的功能。
ElemType fun2(Queue q)
{
ElemType x;
Queue temp;
InitQueue(temp);
while (!QueueEmpty(q)) {
x=OutQueue(q);
EnQueue(temp, x);
}
while (!QueueEmpty(temp)) {
x=OutQueue(temp);
EnQueue(q, x);
}
return x;
}
阅读下列程序,在空白处填入适当的语句,使算法完整。
1.设有一个顺序表L,其元素为整型数据,下列算法将L中所有小于0的整数放在前半部分,大于0的整数放在后半部分。
提示:从L的两端查找,前端找大于0的数据,后端找小于0的数据,然后将两位置的数据交换。
顺序表结构定义如下:
struct List{
ElemType *list; 下列算法用于输出邻接表表示的无向图中序号为num的顶点的所有邻接点。
邻接表结构定义如下: typedef struct node{
int adjvex;
struct node *next;
} edgenode;
typedef edgenode *adjlist[MaxVertexNum];
算法如下:
void OutAdjVex(adjlist GL, int num)
{
edgenode *p;
p = ④ ;
while ( ⑤ ) {
cout<< ⑥ ;
p =p->next;
}
}
1.根据下列函数声明编写求二叉树BT中所有结点数和叶子结点数的递归算法,其值分别由引
用参数C1和C2带回,C1和C2的初值均为0。
函数声明为:void Count(BTreeNode *BT , int &C1, int &C2)
结点结构定义如下:
struct BTreeNode {
ElemType data;
BTreeNode *left;
BTreeNode *right;
};
2.设用顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底
分别设在数组的两个端点,请写出双向栈的顺序存储类型定义,以及入栈Push(Stack, i, item) 和出栈 Pop(Stack, i) 算法,其中i为1或2,分别表示在数组两端的两个栈。