11年广工数据结构试卷
- 格式:doc
- 大小:190.00 KB
- 文档页数:7
2011-2012学年第一学期期末考查《数据结构》试卷(答案一律写在答题纸上,在本试卷上做答无效)一、选择(每题1分,共10分)1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D)A.O(0)B.O(1)C.O(n)D.O(n2)2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D)A.543612B.453126C.346512D.2341563.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B )A.8B.9C.10D.114.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B )A. m-nB.m-n-1C.n+1D.m+n5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B)A.9B.11C.15D.不确定6.下列哪一个方法可以判断出一个有向图是否有环。
(A)A.深度优先遍历B.拓扑排序C.求最短路径D.求关键路径7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。
A.73B.234C.235D.2368.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B)A.(100,80,90,60,120,110,130)B.(100, 120, 110,130,80, 60,90)C.(100,60,80,90,120,110,130)D.(100,80, 60,90, 120, 130,110)9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 2584 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B )A.选择排序B.起泡排序C.快速排序D.插入排序10.对线性表进行折半查找时,要求线性表必须(D)A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序二、填空(每空1分,共15分)1.数据结构中评价算法的两个重要指标是时间复杂度、空间复杂度。
暨南大学2011 年全国硕士研究生统一入学考试自命题试题*******************************************************************************学科与专业名称:计算机技术, 软件工程考试科目代码与名称:数据结构考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
一. 选择题(每题2 分,共30 分)1. 算法分析的目的是()。
A. 找出数据结构的合理性B. 研究算法中的输入和输出关系C. 分析算法的效率以求改进D. 分析算法的易读性和文档性2. 下列函数中渐近时间复杂度最小的是()。
A. T1(n)=log2n+5000nB. T2(n)=n2-8000nC. T3(n)=n3+5000n D. T4(n)=2nlog2n-1000n3. 线性表的动态链表存储结构与顺序存储结构相比,优点是()。
A. 所有的操作算法实现简单B. 便于随机存取C. 便于插入与删除D. 便于节省存储器空间4.若进栈序列为1,2,3,4,5,6, 且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )。
A.3,2,6,1,4,5 B.5,6,4,2,3,1C.5,1,2,3,4,6 D.3,4,2,1,6,55. 顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,则第4 个元素的存储地址是()。
A. 108B. 112C. 116D. 1206. 在任意一棵二叉树的先序序列和后序序列中,各叶子之间的相对次序关系( )。
A.不一定相同B.互为逆序C.都不相同D.都相同7. 高度为5 的二叉树至多有结点数为()。
A. 63B. 3 2C. 31D.648. 图的邻接矩阵表示法适用于表示()。
A.无向图B.有向图C.稠密图D.稀疏图9. 在一个单链表中,若p 所指的结点不是最后一个结点,在p 之后插入s 所指的结点, 则执行( )。
专科《数据结构》一、 (共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。
更多内容尽在/第 1 章绪论课后习题讲解1. 填空⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
【解答】数据元素⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。
【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。
⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。
【解答】集合,线性结构,树结构,图结构⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系⑸算法具有五个特性,分别是()、()、()、()、()。
【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。
【解答】自然语言,程序设计语言,流程图,伪代码,伪代码⑺在一般情况下,一个算法的时间复杂度是()的函数。
【解答】问题规模⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。
【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。
2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。
A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。
则表示该遗产继承关系的最合适的数据结构应该是()。
计算机专业基础综合数据结构(排序)历年真题试卷汇编5(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是( )。
【2009年全国试题9(2分)】A.3,5,12,8,28,20,15,22,19 √B.3,5,12,19,20,1 5,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,1 5,22,19首先按所给关键字序列画出完全二叉树,关键字3插入结点22的后边。
沿结点3到根的路径调整堆,直到满足堆的定义为止。
2.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。
【2009年全国试题10(2分)】A.起泡排序B.插入排序√C.选择排序D.二路归并排序起泡排序的特点是待排序元素相邻两两比较,逆序交换,每趟有一个最大元素到达底部(或一个最小元素到达顶部);插入排序的特点是先假定第一个元素有序,从第二个元素起,每趟将未排序元素的第一个元素插入的前面有序子文件中;选择排序的特点是第一趟在待排序元素中选最小(或最大)元素和第一个元素交换,第二趟在未排序元素中选次小(或次大)和第二个元素交换;二路归并排序是两两归并,再四四归并,等等。
3.采用递归方式对顺序表进行快速排序。
下列关于递归次数的叙述中,正确的是( )。
【2010年全国试题10(2分)】A.递归次数与初始数据的排列次序无关B.每次划分后,先处理较长的分区可以减少递归次数C.每次划分后,先处理较短的分区可以减少递归次数D.递归次数与每次划分后得到的分区的处理顺序无关√快速排序和数据的初始排列次序相关。
每次划分后,先处理较短分区可以减少递归深度,递归次数和先处理哪个分区无关。
4.对一组数据(2,12,1 6,88,5,10)进行排序,若前三趟排序结果如下:第一趟排序结果:2,12,16,5,10,88 第二趟排序结果:2,12,5,10,16,88 第三趟排序结果:2,5,10,12,16,88则采用的排序方法可能是( )。
数据结构试卷(一)一、单选题(每题2分,共20分)1.栈和队列的共同特点是(a).A。
只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D。
没有共同点2.用链接方式存储的队列,在进行插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C。
仅修改尾指针 D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( d )A. 队列B.栈C.线性表D。
二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
cA.688 B.678C.692D.6965.树最适合用来表示( c )。
A。
有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d)。
A。
2k—1B。
2K+1 C.2K—1 D。
2k—17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( c d)A。
1,2,3 ﻩﻩB。
9,5,2,3C。
9,5,3ﻩﻩﻩD。
9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 cA。
O(1) B. O(n) C. O(1og2n) D。
O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( c d)个,A.1 B.2 C.3D.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。
A。
5 B。
6C.7 D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。
《数据结构》考研真题及解答目录2009 年试题 (1)填空题 (1)解答题 (2)2010 年试题 (2)填空题 (2)解答题 (4)2011 年试题 (4)填空题 (4)解答题 (5)2012 年试题 (6)填空题 (6)解答题 (7)2013 年试题 (8)填空题 (8)解答题 (9)2014 年试题 (10)填空题 (10)解答题 (11)2015 年试题 (12)填空题 (12)解答题 (14)2009 年试题填空题1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是A.栈B.队列C.树D.图2.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S。
若每个元素出栈后立即进入队列 Q,且7 个元素出队的顺序是 bdcfeag,则栈 S 的容量至少是A.1 B.2 C.3 D.43.给定二叉树图所示。
设 N 代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。
若遍历后的结点序列为 3,1,7,5,6,2,4,则其遍历方式是A.LRN B.NRL C.RLN D.RNL4.下列二叉排序树中,满足平衡二叉树定义的是5.已知一棵完全二叉树的第 6 层(设根为第 1 层)有8 个叶结点,则完全二叉树的结点个数最多是A.39 B.52 C.111 D.1196.将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是I.父子关系II.兄弟关系III.u 的父结点与v 的父结点是兄弟关系A.只有IIB.I 和IIC.I 和IIID.I、II 和III7.下列关于无向连通图特性的叙述中,正确的是I.所有顶点的度之和为偶数II.边数大于顶点个数减1 III.至少有一个顶点的度为1A.只有IB.只有IIC.I 和IID.I 和III8.下列叙述中,不符合 m 阶B 树定义要求的是A.根节点最多有m 棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接9.已知关键序列 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,1910.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序解答题41.(10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。
全国2011年1月高等教育自学考试数据结构试题(课程代码:02331)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列选项中与数据存储结构无关的术语是()A.顺序表B.链表C.链队列D.栈2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是()A.n-1B.nC.2n-1D.2n3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是()A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是()A.堆栈B.多维数组C.队列D.线性表5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为()A.求子串B.串联接C.串匹配D.求串长6.对于广义表A,若head(A)等于tail(A),则表A为()A.( )B.(( ))C.(( ),( ))D.(( ),( ),( ))7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是()A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是()A.4B.5C.7D.89.下列叙述中错误的是()A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次B.图的遍历可以采用深度优先遍历和广度优先遍历C.图的广度优先遍历只适用于无向图D.图的深度优先遍历是一个递归过程10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={<V1,V2>,<V1,V3>,<V2,V3>,<V2,V4>,<V3,V4>},图G的拓扑序列是()A.V1,V2,V3,V4B.V1,V3,V2,V4C.V1,V3,V4,V2D.V1,V2,V4,V311.平均时间复杂度为O(n log n)的稳定排序算法是()A.快速排序B.堆排序C.归并排序D.冒泡排序12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是()A.(18,22,30,46,51,68,75,83)B.(30,18,22,46,51,75,83,68)C.(46,30,22,18,51,75,68,83)D.(30,22,18,46,51,75,68,83)13.某索引顺序表共有元素395个,平均分成5块。
中南民族大学2007—2008学年第 2 学期 期末考试试卷 课程名称:数据结构 试卷类型:A 卷 共14页 考试形式:闭卷考试使用范围:电信 学院(系) 2007 年级 所有 专业 本科…………………………密……………………封……………………线…………………………… 学院 专业 级 学 姓一、判断题(每题1分,共10分)1. 头指针head 指向的带头结点的单链表(该链表至少有1个结点)中,第一个结点的地址即为head->next 。
( T )2. 头指针head 指向的带头结点的单链表不为空的判断条件是head->next->next != NULL 。
( F )3. 在单链表中必须使某指针指向某个结点才能将该结点删除。
( F )4. 在单链表中,删除一个结点之前必须让某指针指向该结点。
( F )5. 一般情况下,顺序栈中元素存满时,栈顶指针将不指向栈中存放的任何元素。
( T )6. 一般情况下,顺序栈中的栈顶指针不可能指向栈分配空间以外的内存区域。
( T )7. 循环队列中,主要通过“队尾指针”下一个位置等于“队头指针”,即rear = = front + 1,来判断队列为满。
( T )注意事项:1. 考生将姓名、学号等信息写在试卷相应位置;2. 必须使用蓝(黑)色钢笔或签字笔在规定位置答题;3. 注意字迹清楚,保持卷面整洁。
A8. 循环队列中,判断队列为满时“队尾指针”一定指向“队头指针”下一个位置,即rear = = front + 1。
( F )9. 堆分配是串的一种链式存储结构。
( F ) 10. 堆分配是串的一种顺序存储结构。
( T )11. “求子串”得到的结果是子串在主串中第一次出现的位置。
( T ) 12. “求子串”得到的结果是子串在主串中第一次出现的位置。
( T )13. 一般情况下,n ×n 的三角矩阵压缩存储需要122n 个存储单元。
( F )0.5(n+1)*n14. 一般情况下,三角矩阵压缩存储后存放元素的个数,等于压缩前元素个数的一半再加一。
《数据结构》试卷参考答案(A卷)2010 —2011 年度第二学期计算机学院一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)四、存储结构图(要求标明各结点的数据域、指针域、权值等,每小题6分,共12分)1.如下图所示为二叉树排序树T的一种线索二叉树逻辑结构图,试画出插入结点48后的线索二叉树的物理存储结构图。
答案:2.试画出如下图所示无向网的邻接多重表存储结构图。
参考答案:五、求解问题(每小题8分,共32分)1.如下图所示为n 行2n-1列矩阵A[1..n ,1..2n-1],现以行为主序进行压缩存储到一维数组SA[1…m]中。
(1)试问m 值是什么?(2)假定非零元素A[i ,j]保存在SA[k]中,试写出由下标(i ,j)到k 的转换公式。
1,n 2,n-12,n 2,n+1i,n-i+1i,n i,n+i-10 0 0 .... 0 a 0 .... 00 0 0 .... a a a .... 0 ....0 0 ... a ... a ... a ... 0 n,1 n,2n,n n,2n-1 ....a a .... a .... a ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ 答案:(1)m=n 2(2)k=(i-1) 2+i+j-n (当 |j-n|<i)2. 如下图所示为有序表(10,15,21,33,44,60,67,68,70,80)的判定树,试问该判定树是否正确?如果正确,说明理由,错误则指出错误处并给出正确结果。
答案:58296311074注:没按序号作为结点值扣1分3.试用元素序列(63、72、88、68、66、38、43),生成平衡二叉排序树T,(1)按步骤画出该平衡二叉排序树T,(2)写出平衡二叉排序树T 的中序遍历序列,(3)假定每个元素的查找概率相等,计算查找成功时的平均查找长度。
答案: (1)66724388686338(2)38,43,63,66,68,72,88(3)ASL=(1+2*2+3*4)/7=17/74.已知图的邻接表法存储结构如下,从顶点A出发求图的深度遍历的结果。
广东商学院试题纸--------------------------------------------------------------------------------------------------------- ------- 一、概念选择(每小题2分,共20分)1.算法分析的目的是________。
A.找出数据结构的合理性B.分析算法的效率以求改进C.研究算法中的I/O关系D.分析算法的简明易懂性2.链表不具备的特点是【】。
A.可随机访问任一结点B.插入、删除不需要移动数据元素C.不必事先估计存储空间D.所需空间与其长度成正比3.顺序表的首地址是500,每个数据元素的长度为5,则第6个元素的地址是___ ___。
A.505 B.506 C.525 D.5304.栈和队列的共同点是【】。
A.都是先进先出B.都是先进后出C.没有共同点D.只允许在端点处插入和删除元素5.动态分配的顺序栈为满的判定条件是【】。
A.S.top-S.base==S.stacksize; B.S.top==MAXSIZE;C.S.top==0; D.S.top==S.base;6.由3个结点可以构造出【】种不同形态的二叉树。
A.2 B.3 C.4 D.57.在一个图中,所有顶点的度数之和等于图的边数的【】倍。
A.1/2 B.1 C.2 D.48.关键路径算法用于解决【】问题。
A.工程能否顺利完成B.工程完成需要的最短时间C.源点到任一顶点的最短距离D.任意两个顶点之间的最短距离9.在具有n个结点的平衡二叉排序树(BBST)中,查找某个给定关键字失败,其查找长度为【】。
A.O(n) B.O(log2n) C.O(n2) D.无法确定10.下列几种排序方法中,【】是稳定的排序方法。
A.希尔排序B.快速排序C.归并排序D.堆排序二、计算选择(每小题5分,共50分)1.以下代码的时间复杂度是【】。
x=n;y=0;while (x>(y+1)*(y+1)) y++;A.O(n) B.O(n2) C.O(log2n) D.O(n)2.在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时,需向后移动【】个元素。
1. 1. 数据结构是一门研究非数值计算的程序设计问题中计算机的数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象操作对象操作对象 以及它们之以及它们之间的间的 关系关系关系 和运算等的学科。
和运算等的学科。
和运算等的学科。
2. 2. 数据结构被形式地定义为数据结构被形式地定义为(D, R ),其中D 是 数据元素数据元素数据元素 的有限集合,的有限集合,R 是D 上的上的 关关系 有限集合。
有限集合。
有限集合。
3. 3. 数据结构包括数据的数据结构包括数据的数据结构包括数据的 逻辑结构逻辑结构逻辑结构 、、数据的数据的 存储结构存储结构 和数据的和数据的和数据的 运算运算运算 这三个方面这三个方面的内容。
的内容。
4. 4. 数据结构按逻辑结构可分为两大类,它们分别是数据结构按逻辑结构可分为两大类,它们分别是数据结构按逻辑结构可分为两大类,它们分别是 线性结构线性结构线性结构 和和 非线性结构非线性结构非线性结构 。
5.5.有有n 个球队参加的足球联赛按主客场制进行比赛,共需进行n(n-1)n(n-1)场比赛。
场比赛。
场比赛。
参考答案:参考答案: n(n-1) n(n-1)6.6.一棵树的前根遍历序列为一棵树的前根遍历序列为EFHIGJK EFHIGJK,后根遍历序列为,后根遍历序列为HFIEJKG HFIEJKG,将树转换成二叉树形式后,,将树转换成二叉树形式后,该二叉树的后序遍历序列为HIFKJGE HIFKJGE。
5. 5. 线性结构中元素之间存在一对一关系,线性结构中元素之间存在一对一关系,线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,树形结构中元素之间存在一对多关系,树形结构中元素之间存在一对多关系,图形结构中图形结构中元素之间存在多对多关系。
元素之间存在多对多关系。
6. 在线性结构中,第一个结点在线性结构中,第一个结点 没有没有没有 前驱结点,其余每个结点有且只有前驱结点,其余每个结点有且只有 1 1个前驱结点;最后一个结点最后一个结点 没有没有没有 后续结点,其余每个结点有且只有后续结点,其余每个结点有且只有1个后续结点。
一、(本题10分)(1)线性表和广义表的主要区别是什么?(2)已知广义表: C=(a,(b, (a,b)), ((a,b), (a,b))), 则tail(head(tail(C))) =? 答案:(1)线性表和广义表都是元素a1,a2,…,an 组成的序列,其主要区别点在于:在线性表中,ai 是单个元素(原子);在广义表中,ai 可以是单个元素(原子),也可以是广义表。
(7分) (2)tail(head(tail(C))) = ((a,b))(3分) 二、(本题10分)简述二叉树的两种存储结构(顺序存储和链式存储)的数据结构及主要优缺点。
在哈夫曼树中,使用哪种存储结构,并说明理由。
答案:顺序存储结构:typedef SqBiTree[Max_Tree_Size];特点:使用数组存储二叉树上的结点元素,按照对应的完全二叉树的编号来存储二叉树。
优点是适用于完全二叉树,访问方便。
缺点是对于一般二叉树,较大地浪费了空间。
(4分) 链式存储结构:typedef strut BiTNode{ TElemType data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree; 特点:使用结构体来表示结点元素,使用指针来指向结点的左右孩子。
优点是插入与删除方便,节省空间,缺点是不能快速地随机访问结点元素。
(4分)在哈夫曼树中,使用静态三叉链表,这样可以方便地从根走到叶子,也可以从叶子走到根,而且可以随机访问和节省空间。
(2分) 三、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格处的内容,并画出该二叉树。
先序序列:__B__F__ICEH__G ;中序序列:D__KFIA__EJC__ ;后序序列:__K__FBHJ__G__A 。
答案:先序序列:A B D F K I C E H J G中序序列:D B K F I A H E J C G后序序列:D K I F B H J E G C A (11分) 画出树得4分。
11年数据结构试卷(无答案)
一选择
1、下列程序段的时间复杂度为()。
k=0;
for(i=0; i<10; i++)
k++;
A.O(1) B.O(logn) C.O(n) D.O(n )
2、已知在一个单链表中,q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入 s 结点,则执行语句()。
A.s->next=p->next; p->next=s;
B. p->next=s->next; s->next=p;
C.q->next=s; s->next=p;
D. p->next=s; s->next=q;
3、若用一个长度为 6 的数组来实现循环队列,且当前 front 和 rear 的值分别为 4 和 1,则该队列的长度是()。
A.2 B.3 C.4 D.6
4、稀疏矩阵的常用压缩方法有两种,即(
)。
A. 二维数组和三维数组
B. 三元组顺序表和散列表
C. 三元组顺序表和十字链表
D. 十字链表和散列表
5、在有向图的拓扑序列中,若顶点 a 在顶点 b 之前,则下列情形不可能出现的是()。
A. G 中有弧<a, b>
B. G 中有一条从 a 到 b 的路径
C. G 中没有弧<a, b>
D. G 中有一条从 b 到 a 的路径
6、具有 35 个结点的完全二叉树的深度为()。
A.5 B.6 C.7 D.8
7、在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到查找表中。
这种方式主要适合于()。
A.动态查找表 B.静态查找表
C.静态查找表与动态查找表 D.静态查找表或动态查找表 8、二分查找要求被查找的表是()。
A.键值有序的链表 B.链表但键值不一定有序
C.键值有序的顺序表 D.顺序表但键值不一定有序
9、若在排序中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较,将其放入已排序序列的正确位置,则该方法称为()。
A.希尔排序 B.起泡排序
C.插入排序 D.选择排序
10、外部排序是指()。
A.用机器指令直接对硬盘中需排序数据排序
B.把需排序数据用其他大容量机器排序
C.把外存中需排序数据一次性调入内存,排好序后,在输回外存
D.对外存中大于内存允许空间的需排序的数据,通过多次内外存的交换实现排序
二、填空题(10 分,每空 1 分)
1、数据元素及其关系在计算机存储器的表示,称为数据的 ( )。
2、对于长度为 n 的顺序表,假定删除表中任一元素的概率相同,则删除一个元素
平均需要移动元素的个数是 ( ) 。
3、用 S 表示入栈操作,X 表示出栈操作,若元素入栈的顺序为 1234,为了得到
1342 出栈顺序,用相应的 S 和 X 表示的操作串为 SX( ) 。
4、Index (S, T, pos)操作的功能是:从串 S 中第 pos 个字符起查找和串 T 值相同的子串,若找到,则返回其第一次出现的位置。
假设 S = ‘cbcaabca’,T = ‘bca’,则 Index(S, T, 1) = ( ) 。
5、广义表(a,((b),c))的深度是( ) 。
6、已知某二叉树有 31 个叶子结点,且仅有一个孩子的结点数为 40,则该树的结点总数为 ( ) 。
7、已知无向图 G={V, E},其中 V = {a, b, c, d, e},E={(a, b), (a, d), (a, c), (d, c), (b, e)},如果从顶点 a 开始遍历图,遍历序列为 abcde,则采用的是遍历方法是()。
8、在二叉排序树插入新结点时,新结点一定成为二叉排序树的()结点。
9、若在排序中,从未排序序列中挑选元素,并将其依次放入已排序列(初始序列为空)的一端,则该排序方法被称为()排序。
10、文件检索的三种方式是:顺序存取,(),按关键字存取
三、解答题
1、(7 分)二维数组 A[8][9]的元素都是 5 个字符组成的串,请回答下列问题:
(1)A 的第 6 列和第 4 行的所有元素共占多少个字节;
(2)若 A 按行存放,元素 A[6][4]的起始地址与 A 按列存放时哪一个元素的起始地址一致,并说明理由。
设存在第 0 行和第 0 列元素,即从元素 A[0][0]开始存放
2、(7 分)已知有向带权图 G 如图所示,试画出图 G 的逆邻接表,其中邻接链表中每个顶点按由
3、(7 分)画出与图中所示的二叉树等价的树
4、(7 分)设哈希函数为 H(k)=k MOD 7,用链地址法处理冲突。
请画出依次插入元素 29,38,24,71,63,52 后,该哈希表的状态。
5、(8 分)已知序列{503,87,512,61,908,170,897,275,653,462} (1)请判断该序列是否是大顶堆,并说明理由,若不是请调整为大顶堆。
(2)写出输出最大数 908 后,经调整后的大顶堆序列
四、算法填空(36 分,每题 6 分)
1、(6 分)算法 f1 求带头结点的单链表长度。
请在画线处填空。
2、(6 分)阅读算法 f2,回答下列问题:
(1)设队列 Q=(1,2,3,4,5,6),请写出执行算法 f2(Q)后的队列 Q;
(2)简述算法 f2 的功能。
3、(6 分)如图所示的二叉树 T 采用二叉链表存储结构,1)请画出执行算法 f3(T)后的二叉树 T;
(2)简述算法 f3 的功能。
4、(6 分)图的逆邻接表存储结构的类型定义如下:
假设有向图 G 是用逆邻接表存储,算法 f4 计算有向图 G 中顶点 v 的入度。
请在画线处填空。
5、算法 f5 对 r[h],r[h+1],…. r[p]子序列进行一趟快速排序。
请在画线处填空。
6、(6 分)算法 f6 将键值为 x 的结点插入到二叉排序树中,请在画线处填空。
五、算法设计题(8 分)
一个线性表的冗余度为 n/m,其中 n 和 m 分别为表中元素总数和不同元素个数。
编写算法,求一个带头结点的有序单链表的冗余度。
例如,下表的冗余度为 17/9。
(1,2,2,3,4,4,4,5,5,6,6,6,6,7,8,9,9)
六、附加题(10 分,二选一,多做只按第一题给分)
1、某百货公司仓库中电视机的编码和数量信息,按其编码从小到大存储在一个带头结点的循环链表中。
链表的结点由编码、数量和链指针三个域组成
现新到 m 台编码为 c 的电视机需入库,试为此编写修改循环链表中存储的电视机信息的算法。
2、如果一棵二叉树中不存在度为 1 的结点,则称其为正则二叉树。
假设二叉树采用二叉链表存储结构,请编写一个正则二叉树的判定算法。