安徽大学2014数据结构期末考试试卷(A卷)
14数据结构a卷参考答案

2014数据结构A卷参考答案试卷编号命题人:审核人:试卷分类A五邑大学试卷及参考答案与评分标准学期:2013至2014学年度第 1 学期课程:数据结构课程代号:0800310使用班级:120109姓名:学号:题号得分一、得分一、单项选择题1.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是。
A. 2 B.3 C.4 D.6 一二三四五六七八九十总分2.4个叶子结点构造一棵哈夫曼树,该树的总结点数是。
A.4 B.5C.6 D.7 具有n个叶子节点的哈夫曼树共有2n-1 个结点3.对于长度为m的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是。
A.若入栈和入队列的序列相同,则出栈序列和出队序列可能相同B.若入栈和入队列的序列相同,则出栈序列和出队序列可以互为逆序C.入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系是1: n (n≥1) D.入队序列与出队序列关系为1: n (n≥1),而入栈序列与出栈序列关系是1:1 第一句:入队列和出队列的是一样的,要是什么就都是什么,是1:1,一个入队列只可能对应一个出队列第2句:一个入栈序列可能对应多个出站队列1:n 4.在一个单链表HL中,若要删除指针q所指结点的后继结点,则执行。
A.p=q->next; q->next=p->next; C.p=q->next; p->next=q->next; B.p=q->next; q->next=p; D.q->next=q->next->next; q->next=q; 5.假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女之间不能相互继承。
则表示该遗产继承关系的数据结构应该是。
2014-2015学年二学期数据结构期末考试试卷(A卷)

2014-2015学年⼆学期数据结构期末考试试卷(A卷)⽯家庄学院2014-2015学年⼆学期数据结构期末考试试卷(A卷)班级:___________学号:___________姓名:___________得分:___________题⽬部分,(卷⾯共有23题,100分,各⼤题标有题量和总分)⼀、应⽤题(4⼩题,共29分)1.若⼀棵⼆叉树,左右⼦树均有三个结点,其左⼦树的前序序列与中序序列相同,右⼦树的中序序列与后序序列相同,试构造该树。
2.设有⼀棵算术表达式树,⽤什么⽅法可以对该树所表⽰的表达式求值?3.请回答下列关于堆的⼀些问题①堆的存储表⽰是顺序的,还是链接的?②设有⼀个最⼩堆,即堆中任意结点的关键码均⼤于它的左⼦⼥和右⼦⼥的关键码。
其具有最⼤值的元素可能在什么地⽅?③对⼀个元素进⾏初始建堆的过程中,最多做多少次数据⽐较(不⽤⼤O表⽰法)?4.若有100个学⽣,每个学⽣有学号,姓名,平均成绩,采⽤什么样的数据结构最⽅便,写出这些结构?⼆、判断正误(4⼩题,共4分)1.有n个数顺序(依次)进栈,出栈序列有种。
2.算法可以⽤不同的语⾔描述,如果⽤C 语⾔或PASCAL语⾔等⾼级语⾔来描述,则算法实际上就是程序了。
( )3.线性表的逻辑顺序与物理顺序总是⼀致的()。
4.数据元素是数据的最⼩单位( )。
三、单项选择题(6⼩题,共12分)1.循环链表H的尾结点P的特点是A、P^.NEXT:=HB、P^.NEXT:= H^.NEXTC、P:=HD、P:=H^.NEXT2.⼀般情况下,将递归算法转换成等价的⾮递增归算法应该设置A、堆栈B、队列C、堆栈或队列D、数组3.在⼀棵⾼度为k的满⼆叉树中,结点总数为A、2k-1B、2kC、2k-1D、?log2k?+14.对有18个元素的有序表作⼆分(折半)查找,则查找A[3]的⽐较序列的下标为A、1、2、3B、9、5、2、3C、9、5、3D、9、4、2、35.下⾯说法错误的是(1)算法原地⼯作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执⾏时间的⼀个上界(4)同⼀个算法,实现语⾔的级别越⾼,执⾏效率就越低A、(1)B、(1),(2)C、(1),(4)D、(3)6.设有⼴义表D(a,b,D),其长度为(),深度为A、∞B、3C、2D、5四、算法设计题(3⼩题,共35分)1.编写算法判别给定⼆叉树是否为完全⼆叉树。
数据结构安徽大学考试

安徽大学数据结构一、填空题1、算法的5个重要特性是_____有穷性_____、___确定性________、___可行性_____、输入和输出。
2、单链表中,除首元素结点外,其它任一元素结点的存储位置由__其前驱的指针域_________指示。
3、在双向链表中,欲在p所指结点之前插入一个由s指向的结点,请完成有关操作。
s->prior=p->prior;p->prior=s;p->next=s->next;s->next=p;4、对于栈只能在____栈顶____插入和删除元素;对于队列只能在___队尾______插入元素和__队头_____删除元素。
5、在模式匹配的KMP算法中用到了一个next函数,若next[j]=k,则说明在模式串T中存在一个与“T1T2...Tk-1”相等的子串“__Tj-k+1….Tj-1_______________”。
6、假设有二维数组A6 8,每个元素用相邻的6个字节存储,存储器按字节编址。
已知A的起始存储位置(基地址)为1000,则数组A共占用_____288_______个字节的存储单元,按行存储时,元素A25的第一个字节的地址为______1126_______。
8、若以{4,5,6,7,8 }作为叶子结点的权值构造哈夫曼树,则其带权路径长度为__69____。
9、广义表g=( ())的表头是_____( )_____,表尾是____( )______。
二、单项选择题1、线性结构的顺序存储结构是一种 ___A___的存储结构,线性结构的链式存储是一种 ____B_的存储结构。
A. 随机存取B. 顺序存取C. 索引存取D. 散列存取 2、执行下面程序段时,S 语句的执行次数为__A_______。
for (int i=1;i<=n-1;i++) for (int j=i+1;j<=n;j++) S;A. (1)/2n n -B. 2/2nC. (1)/2n n +D. n3、将两个各有N 个元素的有序表归并为一个有序表,其最少的比较次数是__A______。
安徽大学-834-2014-真题

安徽大学2014年硕士研究生入学考试试题计算机专业基础(数据结构、操作系统)——手打版,绝对真实哦操作系统(75分)一、单选题(每题2分,共20分)1、___不是基本的操作系统。
A.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统2、在计算机系统中,通常把财务管理程序看作是____。
A.系统软件B.支援软件C.借口软件D.应用软件3、进程所请求的一次打印输出结束后,将使进程状态从___。
A.运行态变为就绪态B.运行态变为阻塞态C.就绪态变为运行态D.阻碍态变为就绪态4、进程在执行中状态会发生变化,不可能出现的状态变化情况是____。
A.运行变为就绪B.运行变为阻塞C.阻塞变为就绪D.阻塞变为运行5、若在一个单处理器的计算机系统中同时存在5个并发进程,则任何时刻允许占用处理器的进程数为____。
A.至少1个B.最多1个C.至少5个D.最多5个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、扩大物理外存容量二、填空题(7*2=14分)1、UNIX系统中,文件贮存器的管理采用的是_________。
2、一个文件系统的组织方式与MS-DOS相似,在FA T中可有32K个指针,磁盘的盘块大小为1K,则其能指引的最大逻辑磁盘容量为_____________M bytes。
3、某操作系统的磁盘文件空间共有2000块,若字长为64位的位示图管理磁盘空间,位示图需要____________字。
数据结构试卷(A)答案

运算机系2010年—2011年第一学期期末考试题(卷)《数据结构》试题A(卷)参考答案和评分标准一、选择题(每题2分,共40分)。
1.线性表假设采纳链式存储结构时,要求内存中可用存储单元的地址(D )A.必需是持续的B.部分地址必须是连续的C.必然是不持续的D.连续不连续都可以2. 链表不具有的特点是( C )A.随机访问B.不必事先估计存储空间C.插入删除时不需移动元素D.所需空间与线性表成正比3.设有编号为1,2,3,4的4辆车,顺序进入一个栈结构的站台,以下不可能的出站顺序为( D )A.1234 B.1243 C.1324D.14234.顺序栈存储空间的实现利用(B )存储栈元素。
A.链表B.数组C.循环链表D.变量5.初始化一个空间大小为5的顺序栈S 后,S->top的值是( B )A.0 B.-1 C.再也不改变D.动态变化6.队列是限定在( D )进行操作的线性表。
A.中间B.队首C.队尾D.两端7.引发循环队列队头位置发生转变的操作是(A )。
A.出队B.入队C.取队头元素D.取队尾元素8.以下论述正确的选项是(C )A.空串与空格串是相同的B.”tel”是”Teleptone”的子串C.空串是零个字符的串D.空串的长度等于19.串的模式匹配是指(D )A.判定两个串是不是相等B.对两个串比较大小C.找某字符在主串中第一次显现的位置D.找某子串在主串中第一次显现的第一个字符位置=”morning”,执行求子串函数SubStr(S,2,2)后的结果为( B )A.”mo”B.”or”C.”in”D.”ng”11.设高度为h的二叉树上只有度为0和度为2的结点,那么此类二叉树中所包括的结点数至少为( B )A.2h B.2h-1 C.2h+1 D.h+112.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A.acbed B.decabC.deabc D.cedba13. 按照二叉树的定义,具有3个结点的二叉树有( C )种。
安徽大学数据结构试卷A

安徽大学计算机科学与技术学院2009 —— 2010学年第二学期软件工程专业 2008 年级数据结构课程(测验)学号姓名得分(闭卷 120分钟)一、填空题(每空2分,共28分)1、算法的5个重要特性是_____有穷性_____、___确定性________、___可行性_____、输入和输出。
2、单链表中,除首元素结点外,其它任一元素结点的存储位置由__其前驱的指针域_________指示。
3、在双向链表中,欲在p所指结点之前插入一个由s指向的结点,请完成有关操作。
s->prior=p->prior;p->prior=s;p->next=s->next;s->next=p;4、对于栈只能在____栈顶____插入和删除元素;对于队列只能在___队尾______插入元素和__队头_____删除元素。
5、在模式匹配的KMP算法中用到了一个next函数,若next[j]=k,则说明在模式串T中存在一个与“T1T2...Tk-1”相等的子串“__Tj-k+1….Tj-1_______________”。
6、假设有二维数组A6 8,每个元素用相邻的6个字节存储,存储器按字节编址。
已知A的起始存储位置(基地址)为1000,则数组A共占用_____288_______个字节的存储单元,按行存储时,元素A25的第一个字节的地址为______1126_______。
8、若以{4,5,6,7,8 }作为叶子结点的权值构造哈夫曼树,则其带权路径长度为__69____。
9、广义表g=( ())的表头是_____( )_____,表尾是____( )______。
二、单项选择题(每空2分,共14分)1、线性结构的顺序存储结构是一种 ___A___的存储结构,线性结构的链式存储是一种 ____B_的存储结构。
A. 随机存取B. 顺序存取C. 索引存取D. 散列存取2、执行下面程序段时,S 语句的执行次数为__A_______。
安徽大学数据结构试卷a教学教材

安徽大学数据结构试卷2010A安徽大学20 09 —20 10学年第 2 学期《 数据结构 》考试试卷(A 卷)(闭卷 时间120分钟)一、填空题(每空1分,共15分)1、在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后续结点,其余每个结点有且只有 个后续结点。
2、下面程序段的时间复杂度是 。
for (i=0;i<n;i++) for (j=0;j<m;j++) A[i][j]=0;3、在具有n 个单元的循环队列中,队满时共有 个元素。
4、假定一棵二叉树的结点数为18,则它的最小深度为 ,最大深度为 。
5、在一个单链表中p 所指结点之后插入一个s 所指结点时,应执行下面的操作:s —>next=_ ___; p —>next=___;6、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为 和 。
7、.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。
这棵二叉树中度为2的结点有___________________个。
8、在堆排序和快速排序中,若原始记录接近正序或反序,则选用____。
9、若采用邻接表的存储结构,则图的广度优先搜索类似于二叉树的________遍历。
二、单向选择题(每小题1.5分,共15分) 1、n 个顶点的强连通图中至少含有( )。
A 、n —l 条有向边B 、n 条有向边C 、n(n —1)/2条有向边D 、n(n 一1)条有向边2、在一个不带头结点的单链表HL 中,若要向表头插入一个由指针p 指向的结点,执行( )。
院/系 年级 专业 姓名 学号答 题 勿 超 装 订 线------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------A、 HL=p; p一>next=HL;B、 p一>next=HL;HL=p;C、 p一>next=HL; p=HL;D、 p一>next=HL一>next; HL一>next=p;3、采用线性链表表示一个向量时,要求占用的存储空间地址()。
(完整word版)《数据结构》 期末试卷(A)

班 姓 学 考试时 考场(教室装 线《数据结构》期末考试试卷(A)一、判断题:(正确者在括号内打“√”,错误者打“×”。
每小题1分,共10分)1.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。
( ) 2.栈和队列是一种非线性数据结构。
( ) 3.十字链表是无向图的一种存储结构。
( ) 4.Hash 表的平均查找长度与处理冲突的方法无关。
( ) 5.数据元素是数据的最小单位。
( ) 6.就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。
( ) 7. 对于一棵非空二叉树,它的根结点作为第一层,则它的第i 层上最多能有2i-1个结点。
( ) 8.有e 条边的无向图,在邻接表中有e 个结点。
( ) 9.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( ) 中插入一个新结点,总是插入到叶结点下面。
( ) 二、选择题:(将每小题正确答案的选项填写在题后的横线上,每小题2分,共20分) x 的赋值语句的频度为___________。
FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A . O(2n)B .O(n)C .O(n 2) D .O(log2n) 2.下面关于串的的叙述中,哪一个是不正确的?___________。
A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 3.栈和队列的共同特点是___________。
A .只允许在端点处插入和删除元素B .都是先进后出C .都是先进先出D .没有共同点4.一个向量第一个元素的存储地址是50,每个元素的长度为4,则第5个元素的地址是___________。
A. 70 B. 66 C. 50 D. 785.设abcdef 以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为?___________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽大学2014-2015学年第一学期《数据结构》期末考试试卷(A卷)(含参考答案)一、单项选择题(本大题共15小题,第小题2分,共30分)在每小题列出的四个选项中只有一个符合题目要求,请将其代码填在题后的括号内。
错选或未选均无分。
1. 算法必须具备输入、输出和[ C ]A. 计算方法B. 排序方法C.解决问题的有限运算步骤 D. 程序设计方法2. 有n个节点的顺序表中,算法的时间复杂度是O(1)的操作是[ A ]A.访问第i个节点(1≤i≤n)B.在第i个节点后插入一个新节点(1≤i≤n)C.删除第i个节点(1≤i≤n)D.将n个节点从小到大排序3.单链表的存储密度[ C] A.大于1 B. 等于1C.小于1 D. 不能确定4. 循环队列SQ的存储空间是数组d[m],队头、队尾指针分别是front和rear,则执行出队后其头指针front值是[ D ] A.front=front+1 B. front=(front+1)%(m-1)C. front=(front-1)%mD. front=(front+1)%m5. 在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是[ B ]A. O(1)B. O(n)C. O(n2)D. O(nlogn)6 设二维数组A[0..m-1][0..n-1]按行优先顺序存储,则元素A[i][j]的地址为[ B ] A.LOC(A[0][0])+(i*m+j) B.LOC(A[0][0])+(i*n+j)C.LOC(A[0][0])+[(i-1)*n+j-1]D. LOC(A[0][0])+[(i-1)*m+j-1]7.设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进行,则出栈序列不可能是[ B] A.23415 B. 54132C.23145 D. 154328. 一个非空广义表的表头[ D ]A.一定是子表 B. 一定是原子C.不能是子表 D. 可以是原子,也可以是子表9.具有n个节点的完全二叉树的深度为[ A ] A.⎡log2(n+1)⎤ -1 B. log2n+1C. log2nD. ⎣log2n⎦10. 若要惟一地确定一棵二叉树,只需知道该二叉树的[ D ]A.前序序列 B. 中序序列C.前序和后序序列 D. 中序和后序序列11.在一个无向图中,所有顶点的度数之和等于图的边数的倍[ C ] A.1/2 B. 1C. 2D. 412. 拓扑排序运算只能用于[ C ]A.带权有向图 B. 连通无向图C.有向无环图 D. 无向图13.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是[ D ] A.希尔排序 B. 冒泡排序C.插入排序 D. 选择排序14.下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是[ C ] A.堆排序 B. 冒泡排序C.直接选择排序 D. 快速排序15.二分查找要求节点[ A ] A.有序、顺序存储 B. 有序、链接存储C.无序、顺序存储 D. 无序、链接存储二、填空题(本大题共10小题,每小题2分,共20分)不写解答过程,将正确的答案写在每小题的空格内。
错填或不填均无分。
16.数据的逻辑结构分为两大类,它们是线性结构和非线性结构。
17.在单链表中(假设结点指针域名称为next),删除指针P所指结点的后继结点的语句是p->next=p->next->next 。
18.已知循环队列用数组data[n]存储元素值,用front,rear分别作为头尾指针,则当前元素个数为(rear-front+n)%n 。
19.若n为主串长,m 为子串长,则串的朴素匹配算法最坏的情况下需要比较字符的总次数为_______(n-m+1)×m_ _。
20.广义表((a),((b),j,(((d)))))的表尾是____(((b),j,(((d)))))___ _____。
21.已知二叉树有61个叶子节点,且仅有一个孩子的节点数为45,则总节点数为____166 __。
22.解决计算机与打印机之间速度不匹配问题,须要设置一个数据缓冲区,应是一个队列结构。
23.n 个顶点e条边的图采用邻接表存储,深度优先遍历算法的时间复杂度为_________O(n+e)___________。
24.对于n个关键字的集合进行冒泡排序,在最坏情况下所需要的时间为_____O(n2)________。
25.在一个长度为n的顺序表中的第i个元素(1≤i≤n)之前插入一个元素时,需向后移n-i+1 个元素。
三、解答题(本大题共4小题,共25分)26.对于下面的稀疏矩阵,画出其三元组法存储表示(假设下标从0开始)。
(5分)0 0 14 0 0 00 0 0 0 -6 07 0 0 0 0 240 0 0 18 0 00 15 0 0 0 0答案:0 1 2 3 4 527. 已知一棵二叉树的中序序列和后序序列分别如下,请画出该二叉树。
(5分)中序序列:D I G J L K B A E C H F 后序序列:I L K J G D B E H F C A答案:29. 已知一个图的邻接表如下所示。
(8分)(1) 画出该图的图形;(4分)(2) 根据邻接表分别画出从顶点a 出发进行深度优先和广度优先遍历所生成的生成树。
(4分)答案:0 2 14 1 4 -6 2 0 7 2 5 24 3 3 18 4 1 15a b c d e f∧1 2 5∧5 ∧5 ∧ 2 4∧3 ∧ 行号 列号 值AB CDEFH G JKIL四、算法阅读题(本大题共3小题,每小题5分,共15分)30.设线性表的n个结点定义为(a0,a1,…,a n-1),在顺序表上实现的插入和删除算法如下,请在空白处填入适当内容。
(顺序表的最大可容纳项数为MaxSize)Template <class Type> int SeqList<Type>::Insert(Type &x, int i) {If (i<0 || i>last+1 || last== (1) ) return 0;Else {Last++;For(int j=last;j>i;j--) data[j]= (2) ;(3) ;Return 1;}}Template <class Type> int seqList<Type>::Remove(Type &x){int i=Find(x);if(i>=0) {last--;for (int j= (4) ;j<=last;j++) data[j]= (5) ;return 1;}return 0;}答案:(1) MaxSize-1(2) data[j-1](3) Data[i]=x(4) i(5) data[j+1]31.阅读下面的算法,请回答下列问题:(1)试说明算法的功能。
(2)当执行该程序时,输入12345678-1,输出什么结果?#define StackSize 200typedef int DataType;typedef struct{DataType data[StackSize];int top;}SeqStack;void Push(SeqStack *s,DataType x){if(s->top!=StackSize-1)s->data[++s->top]=x;}DataType Pop(SeqStack *s){if(s->top!=-1)return s->data[s->top--];}void main( ){DataType i;SeqStack s;s.top=-1;scanf(“%d”,&i);while(i!=-1){push(&s,i);scanf(“%d”,&i);}while(s->top!=-1){i=Pop(&s);printf(“%6d”,i);}}答案:(1)程序的功能是把输入的一串整数(用-1做结束标记) ,按照与输入相反的次序输出。
用栈实现这一功能。
(2)输出结果8 7 6 5 4 3 2 1。
五、算法设计题(本题共10分)33.设一棵二叉树以二叉链表表示,试以成员函数形式编写有关二叉树的递归算法。
(1)统计二叉树中度为1的结点个数;(5分)(2)统计二叉树中度为2的结点个数。
(5分)(提示:递归算法如32题所示)解答:(1)统计二叉树中度为1的结点个数。
Template<class Type>Int BinaryTree<Type> ::Degree1(BinTreeNode<Type> *t)const{If(t==NULL) return 0;If(t->leftchild!=NULL &&t->rightchild==NULL || t->leftchild==NULL &&t->rightchild!=NULL) Return 1+Degree1(t->leftchild)+Degree1(t->rightchild);Return Degree1(t->leftchild)+Degree1(t->rightchild);}(2) 统计二叉树中度为2的结点个数。
Template<class Type>Int BinaryTree<Type> ::Degree2(BinTreeNode<Type> *t)const{If(t==NULL) return 0;If(t->leftchild!=NULL &&t->rightchild!=NULL )Return 1+Degree2(t->leftchild)+Degree2(t->rightchild);Return Degree2(t->leftchild)+Degree2(t->rightchild);}。