数据结构历年试题及答案.docx
- 文档编号:3624768
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:31
- 大小:858.26KB
数据结构历年试题及答案.docx
《数据结构历年试题及答案.docx》由会员分享,可在线阅读,更多相关《数据结构历年试题及答案.docx(31页珍藏版)》请在冰豆网上搜索。
数据结构历年试题及答案
试卷代号:
1252
中央广播电视大学2012-2013学年度第二学期“开放本科”期末考试
一、单项选择题(每小题2分,共30分)
1.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。
A.4B.3C.6D.12
2。
串函数StrCat(a,b)的功能是进行串()。
A.比较B.复制C.赋值D.连接
3.-棵有n个结点采用链式存储的二叉树中,共有()个指针域为空。
A.n+lB.nC.n-lD.n-2
4.设一棵哈夫曼树共有n个非叶结点,则该树有()个叶结点。
A.nB.n+lC.n-lD.2n
5.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执
行()。
A.x=top->data;top=top->nextB.x=top->data
C.top=top->next;x=top->dataD.top=top->next;x=data
6.一棵完全二叉树共有5层,且第5层上有六个结点,该树共有()个结点。
A.30B.20C.21D.23
7.在一个无向图中,所有顶点的度数之和等于边数的()倍。
^A.O上;.B.3C.1.5D.2
8.已知如图1所示的一个图,若从顶点V,出发,按深度优先搜索法进行遍历,则可能得
到的一种顶点序列为()。
9.已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到
的一种顶点序列为()。
A.abcedfB.abcefdC.aebcfdD.acfdeb
10.对二叉排序树进行()遍历,可以使遍历所得到的序列是有序序列。
A.按层次B.后序C.中序D.前序
11.在有序表(2,4,7,14,34,43,47,64,75,80,90,97,120)中,用折半查找法查找值80
时,经()次比较后查找成功。
A.4B.2C.3D.5
12.有一个长度为9的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的
平均比较次数为()。
A.25/10B.25/9C.20/9D.17/9
13.排序算法中,从未排序序列中依次取出元素与已排序序殂(初始为空)中的元素进行
比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是()。
A.冒泡B。
直接插入C.折半插入D.选择排序
14.一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为
分割元素,经过一次划分后结果为()。
A.40,38946,79956,84B.40,38946,56,79,84
C.40,38,46,84,56,79D.38,40,46956,79,84
15.排序方法中,从尚未排序序列中挑选元素,并将其依次放人已排序序列(初始为空)的
一端的方法,称为()排序。
A.归并B.插入C.快速D.选择
1.A2.D3.A4.B5.A6.C7.D8.A9.B10.C11.B2.B13.C14.B15.D
二、填空题(每小题2分。
共20分)
16.在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是(值域)(左指针)(右指针)。
17.一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左、右孩子编号分别为(2i、2i+l)。
18.串的两种最基本的存储方式是(顺序存储)和(链式存储)。
19.-棵有2n-l个结点的二叉树,其每一个非叶结点的度数都为2,则该树共有(n)个叶结点。
20.对于一棵具有n个结点的二叉树,其相应的链式存储结构中共有(n+1)个指针域为空。
21(中序)遍历二叉排序树可得到一个有序序列。
22.图的深度优先搜索和广度优先搜索序列不一定是唯一的。
此断言是(正确)的。
23.二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。
这种说法是(不正确)的。
(回答正确或不正确)
24.对记录序列排序是指按记录的某个关键字排序,记录序列按(主关键字)排序结果是唯一的。
25.按某关键字对记录序列排序,若(关键字相等的记录)在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。
三、综合题(每小题10分。
共30分)
26.设查找表为(16,15,20,53,64,7),
(1)用冒泡法对该表进行排序(要求升序排列),写出每一趟的排序过程,通常对n个元素进行冒泡排序要进行多少趟冒泡?
第j趟要进行多少次元素间的比较?
(2)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树。
(要求以数据元素作为树结点)。
27.
(1)设有查找表{5,14,2,6,18,7,4,16,3),依次取表中数据,构造一棵二叉排序树。
(2)说明如何由序列的二叉排序树得到相应序列的排序结果。
38.
(1)对给定权值2,1,3,3,4,5,构造哈夫曼树(要求每个结点的左子树根结点的权小于
等于右子树根结点的权)。
(2)给出各权值的哈夫曼编码。
四、程序填空题【每空2分。
共16分)
30.以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中,左、右指针域分别为1eft和right,数据域data为字符型,BT指向根结点)。
voidPostorder(structBTreeNode*BT)
{if(BT!
=NULL){
(1)[]
(2)[](3)[]}}
试卷代号:
1252
中央广播电视大学2012-2013学年度第一学期“开放本科”期末考试
一、单项选择题(每小题2分,共30分)
1.同一种逻辑结构()。
A.只能有唯一的存储结构B.可以有不同的存储结构
C.只能表示某一种数据元素之间的关系n以上三种说法均不正确
2.链表所具备的特点是()。
A可以随机访问任一结点B占用连续的存储空间
C插入删除元素的操作不需要移动元素结点D可以通过下标对链表进行直接访问
3.数据的物理结构()。
A与数据的逻辑结构无关B仅仅包括数据元素的表示
C只包括数据元素间关系的表示n包括数据元素的表示和关系的表示
4.线性结构中数据元素的位置之间存在()的关系。
A-对一B一对多C多对多D.每一个元素都有一个直接前驱和一个直接后继
14.设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到
一维数组B中(数组下标从1开始),则矩阵中元素氏。
在一维数组B中的下标是.()。
A.33B.32C.85D.41
15.在一个无向图中,所有顶点的度数之和等于边数的()倍。
A3&2.5C1.5D.2
1.B2.C3.D4.A5.D6.C7.B8.C9.A10.C11.A12.B13.C14.A15.D
二、填空题(每小题2分,共24分)
16.栈和队列的操作特点分别是(后进先出)和(先进先出)。
17.结构中的数据元素存在多对多的关系称为(网状)结构。
18.根据数据元素间关系的不同特性,通常可分为集合、线性、(树形)、(图形)、四类基本结构。
19.要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。
则比较的次数和算法的时间复杂度分别为(n-1)和(O(n))。
20.在一个单向链表中p所指结点之后插入一个s所指向的结点时,应执行(s->next=s)和(p->next=s)的操作。
21.在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是值域、(左指针)、(右指针)。
22.一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左右孩子的编号分别为(2i)、(2i+1)
23.向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行(s->next=h);和(n=s)。
24.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为(r->next=s)和r=s;(结点的指针域为next)。
25.设有一棵深度为4的完全二叉树,第四层上有5个结点,该树共有(12)个结点。
(根所在结点为第1层)
26.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的(行下标)、(列下标)和非零元素值三项信息。
27.在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插入到有序表时,为寻找插入位置,需比较(3)次。
三、综合题(每小题10分,共30分)
28.
(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树(要求每个结点的左子树根结点的权小于等于右子树根结点的权),给出相应权重值叶结点的哈夫曼编码。
(2)-棵哈夫曼树有n个叶结点,它一共有多少个结点?
简述理由。
29.一组记录的关键字序列为(46,79,56,38,40,84)
(1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换元素的过程,要求以升序排列)。
(2)对上述序列用堆排序的方法建立大根堆,要求以二叉树逐次描述建堆过程。
30.设查找表为(50,60,75,85,96,98,105,110,120,130)
(1)说出进行折半查找成功查找到元素120需要进行多少次元素间的比较?
(2)为了折半查找元素95,经过多少次元素间的比较才能确定不能查到?
(3)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点)。
四、程序填空题(每空2分,共16分)
试卷代号:
1252
中央广播电视大学2008--2009学年度第一学期“开放本科”期末考试
一、单项选择题(每小题2分。
共30分)
1.链表所具备的特点是()。
A.可以随机访问任一结点B.占用连续的存储空间
C.插入删除元素的操作不需要移动元素结点D.可以通过下标对链表进行直接访问
2.线性结构中数据元素的位置之间存在()的关系。
A.一对一B.一对多
C.多对多
D。
每一个元素都有一个直接前驱和一个直接后继
3.算法的时间复杂度与()有关。
7
A.所使用的计算机B.与计算机的操作系统
C.与算法本身D.与数据结构
4.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是P所指结点的直接后继,现要删除q所指结点,可用的语句是()。
A.p=q->nextB.p->next=q
C.p->next=q->nextD.q->next=NULL
5.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。
A.r=f->next:
B.r=r->next:
C.f=f一>next;
D.f=r一>next:
6.元素3,6,9按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。
A.9,6,3
B.9,3,6
C.6,3,9
D.3,9,6
7.设有一个l0阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到一维数组8中(数组下标从1开始),则矩阵中元素氏,。
在一维数组B中的下标是(.)。
A.33B.32
C.85D.41
8.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。
A.4B.3
C.6D.12
9.一棵有n个结点采用链式存储的二叉树中,共有()个指针域为空。
A.n+1B.n
C.n一1D.n--2
10.设一棵哈夫曼树共有n个叶结点,则该树有()个非叶结点。
A.n—lB.n
C.n+1D.2n
11.在一个无向图中,所有顶点的度数之和等于边数的()倍。
A.3B.2.5
C.1.5D.2
12.已知如图1所示的一个图,若从顶点V。
出发,按广度优先进行遍历,则可能得到的一种顶点序列为()。
13.在有序表{2,4,7,14,34,43,47,64,75,80,90,97,120)中,用折半查找法查找值80时,经()次比较后查找成功。
A.4B.2
C.3D.5
14.排序算法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是()。
A.冒泡
B.直接插入
C.折半插人
D.选择排序
15.排序方法中,从尚未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为()排序。
A.归并B.插入
C.快速D.选择
二、填空题(每小题2分。
共24分)
1·结构中的数据元素存在多对多的关系称为——结构。
2.要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。
则比较的
次数和算法的时间复杂度分别为---------和---------
3·设有一个头指针为head的单向循环链表,p指向链表中的结点,若p一>next==
——,则P所指结点为尾结点。
4·向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s一>next=h;和---------
5·在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为------
和r=s;(结点的指针域为next)
6.设有n阶对称矩阵A,用数组s进行压缩存储,当i s的数组元素的下标为-----------。 (数组元素的下标从l弃始) 7·一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左、右孩子编号分别为---------,--------- 8·一棵有2n--1个结点的二叉树,其每一个非叶结点的度数都为2,则该树共有------- 个叶结点。 9.—-----—遍历二叉排序树可得到一个有序序列。 10.如图2所示的二叉树,其前序遍历序列为--------- 11二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右 孩子的值。 这种说法是——的。 (回答正确或不正确)一“ 12.按某关键字对记录序列排序,若——一———在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。 三、综合题(每小题10分。 共30分) 1.一组记录的关键字序列为(46.79,56,38,40,84) (1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果。 (给出逐次交 换元素的过程,要求以升序排列) (2)对上述序列用堆排序的方法建立大根堆,要求以二叉树逐次描述建堆过程。 2.设查找表为(16,15,20,53,64,7) (1)用冒泡法对该表进行排序(要求升序排列),要求写出每一趟的排序过程,通常对n个元素进行冒泡排序要进行多少趟冒泡? 第j趟要进行多少次元素间的比较? (2)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树。 (要求以数据 元素作为树结点) (3)求在等概率条件下,对上述有序表成功查找的平均查找长度。 3. (1)“一棵二叉树若它的根结点的值大于左子树所有结点的值,小于右子树所有结点的值,则该树一定是二叉排序树”。 该说法是否正确,若认为正确,则回答正确,若认为不正确则说明理由? (2)设有查找表(7,16,4,8,20,9,6,18,5),依次取表中数据构造一棵二叉排序树。 对上述二叉树给出后序遍历的结果。 四、程序填空题(每空2分。 共16分) 1.以下是用头插法建立带头结点且有n个结点的单向链表的程序,要求结点中的数据域从前向后依次为n,n--1,……,l,完成程序中空格部分。 NODE*create2(n) {NODE*head,*P,*q; inti; D=(NODE*)malloc(sizeof(NODE)); P一>next=NULL; head= (1)——; (2)——; for(i=1;i<=n;i++) {P2(3)———————————————; p一>data=i; if(i==1) p->next=NULL; else p->next2(4)——; q一>next2(5)——; } return(head); } 2.以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中,左、右指针域分别为left和right,数据域data为字符型;BT指向根结点)。 voidPostorder(structBTreeNode*BT) {if(BT! =NULL){· (1)---------------------------------; (2)---------------------------------; (3)--------------------------------; 试卷代号: 1252 中央广播电视大学2008--2009学年度第一学期“开放本科"期末考试 数据结构(本)试题答案及评分标准 (供参考) 一、单项选择题(每小题2分,共30分) 1.C2.A3.C4.C5.C 6.B7.A8.A9.Al0.A 11.Dl2.Cl3.Al4.Cl5.D 二、填空题(每小题2分。 共24分)’ 1-图状(网状)‘ 2.n一1,0(n) 3.head 4.H=s; 5.r一>next=S; 6.i(i一1)/2+j 7.2i和2i+1 8.n 9.中序 10.abdefeg 11.不正确 12.关键字相等的记录 三、综合题(每小题10分。 共30分) 1. (1)初始序列46,79,56,38,40,84 40,79,56,38,回,84 40,回,56,38,79,84 40,38,56,围,79,84. 40,38,回,56,79,84 40,38,46,56,79,84, (2) 2. (1)原序列16152053647 15162053764n一1耥 15162075364n—j次 15167205364 15716205364 71516205364 (2) (3)平均查找长度一(1*1+2*2+3*3)/6—14/6 3. (1)不正确,二叉排序树要求其子树也是二又排序树。 (2)· 后续遍历5,6,4,9,8,18,20,16,7 四、程序填空题(每空2分。 共16分) 1. (1)P (2)q=P (3)(NODE*)malloc(sizeof(NODE)) (4)q->next (5)p 2. (1)Postorder(BT一>left) (2)Postorder(BT一>right) (3)printf(“c”,BT一>data) 试卷代号: 1010 中央广播电视大学2007--2008学年度第一学期“开放本科"期末考试 计算机专业数据结构试题 2008年1月 一、单项选择题。 在括号内填写所选择的标号(每小题2分。 共l8分) 1.下面程序段的时间复杂度为()。 for(inti=0;i for(intj=0;j A.O(m2)B.O(n2) C.O(m*n)D.0(m+n) 2.在二维数组中,每个数组元素同时处于()个向量中。 A.0B.1 C.2D.n 3.设有两个串t和P,求P在t中首次出现的位置的运算叫做()。 A.求子串B.模式匹配 C.串替换D.串连接 4.利用双向链表作线性表的存储结构的优点是()。 A.便于单向进行插入和删除的操作 B.便于双向进行插入和删除的操作 C.节省空间 D.便于销毁结构释放空问 5.设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。 若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行()操作。 A.top一>link=S; B.s一>link=top一>link;top一>link=S; C.S-->link=top;top—S; D.s一>link=top;top—top一>link; 6.一棵具有35个结点的完全二叉树的高度为()。 假定空树的高度为一l。 A.5B.6 C.7D.8 7.向具有n个结点的堆中插入一个新元素的时间复杂度为()。 A.O (1)B.0(n) C.O(log2n)D.O(nlog2n) 8.在一棵AVL树中,每个结点的平衡因子的取值范围是()。 A.一l~1B.一2~2 C.1~2D.O~1 9.一个有n个顶点和n条边的无向图一定是()的。 A.连通B.不连通 C.无回路D.有回路 有回路 二、填空题,在横线处填写合适的内容(每小题2分,共l4分) 1.数据结构包括()、存储结构和对数据的运算这三个方面。 2.一维数组所占用的空间是连续的。 但数组元素不一定顺序存取,通常是按元素的()存取的。 3.将一个n阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组中,则该一 维数组需要至少具有()个元素。 4.对于一棵具有n个结点的树,该树中所有结点的度数之和为()。 5.在一棵高度为3的理想平衡二叉树中,最少含有()个结点,假定树根结点的高度为0。 6.假定对长度n=50的有序表进行折半搜索,则对应的判定树中最底层的结点数为()个。 7.用邻接矩阵存储图,占用的存储空间与图中的()数有关。 三、判断题。 在每小题前面打对号表示正确或打叉号表示错误(每小题2分。 共14分) ()1.算法和程序都应具有下面一些特征: 有输入,有输出,确定性,有穷性,有效性。 ()2.用字符数组存储长度为n的字符串,数组长度至少为n+1。 ()3.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。 ()4.邻接矩阵适用于稀疏图的表示,邻接表适用于稠密图的表示。 ()5.对一个无向连通图进行一次深度优先搜索遍历时可以访问到图中的所有顶点。 ()6.在索引顺序结构的搜索中,对索引表只可以采取顺序搜索,不可以采用折半搜索。 ()7.图中各个顶点的编号是人为的,不是它本身固有的,因此可以根据需要进行改变。 四、运算题(每小题6分,共30分) 1.假定一棵二叉树广义表表示为a(b(c),d(e,f)),分别写出对它进行中序、后序、按层遍历的结果。 中序: 后序: 按层: 2.一个一维数组all2]中存储着有序表(15,26,34,39,45,56,58,63,74,76,80,86),根据折半搜索所对应的判定树,写出该判定树中度为1的结点个数,并求出在等概率情况下进行成功搜索时的平均搜索长度。 度为l的结点个数: 平均搜索长度: 3.假定一个线性序列为(38,42,55,15,23,44,30,74,48,26),根据此线性序列中元素的排列次序生成一棵二叉搜索树,求出该二叉搜索树中左子树为空的所有单支结点、右子树为空的所有单支结点和所有叶子结点,请按照结点值从小到大的次序写出。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 历年试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)