2019年本科插班生考试试题《数据结构》A试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
韩山师范学院2019年本科插班生招生考试
计算机科学与技术 专业 数据结构 试卷(A 卷)
一、单项选择题(每题2分,共30分)
1. 由3个结点可以构造出多少种不同的二叉树?( )
A .2
B .3
C .4
D .5
2. 一个栈的输入序列为A B C ,则下列序列中不可能是栈的输出序列的是( )。
A. B C A
B.C B A
C. C A B
D. A B C
3. 算法的时间复杂度取决于( )
。
A .问题的规模
B .待处理数据的初态
C .计算机的配置
D .A 和B
4. 数组的逻辑结构不同于下列( )的逻辑结构。
A. 树
B. 栈
C. 队列
D. 线性表
5. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为( )。
A .8
B .63.5
C .63
D .7
6. 用邻接表表示图进行深度优先遍历时,通常借助( )来实现算法。
A .队列 B. 栈 C. 树 D .图
7. 数据的最小单位是( )。
A.数据元素
B.数据项
C.数据类型
D. 数据变量
8. 设无向图G中有n个顶点,则该无向图的最小生成树上有()
条边。
A. 2n
B. 2n-1
C. n-1
D. n
9. 为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是()。
A.栈
B.队列
C.线性表
D.有序表
10. 程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂
度为()。
n) C.O(n2) D.O(n3/2)
A. O(n)
B. O(nlog
2
11.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。
A. q=p->next;p->next=q->next;free(q);
B. q=p->next;p->data=q->data;free(q);
C. q=p->next;p->data=q->data;p->next=q->next;free(q);
D. q=p->next;q->data=p->data;p->next=q->next;free(q);
12. 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则
第15个元素的地址是()。
A.110
B.108
C.100
D.128
13. 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。
A.所有的结点均无左孩子 B.所有的结点均无右孩子
C.只有一个叶子结点 D.是任意一棵二叉树
14. 具有n个顶点的有向图最多有()条边。
A.n B.n2 C.n(n+1) D.n(n-1)
15. 设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i
的入度为()。
A.第i行非0元素的个数之和
B. 第i列非0元素的个数之和
C.第i行0元素的个数之和
D. 第i列0元素的个数之和
二、填空题(每空2分,共20分)
1.数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的_______和______的学科。
2.线性结构表示数据元素之间存在_______的关系;树结构则表示数据元素之间存在_______的关系。(要求:填“几对几”的关系)
3. 设指针p 指向单链表中结点A ,指针s 指向被插入的结点X ,则在结点A 的后面(即下一个节点)插入结点X 时的操作序列为:
1) _______= p->next
2) p->next= _______
4. 满二叉树的高度为n (根为第1层),则该二叉树的节点总数为 个,叶子节点有 个。
5. 对于栈操作数据的原则是________________;对于__________________操作数据的原则是先进先出。
三、判断题(对的划√,错的划×。每小题1分,共10分)
( )1.某一数据结构是非空有限集,有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继,则这个数据结构是线性表。
( )2. 由一棵二叉树的先序序列和后序序列,能够唯一确定出该二叉树的形状。
( )3.单链表的每个结点中都恰好包含一个指针。
( )4.栈是一种特殊的线性表,它只能在表的一端(栈顶)进行插入和删除运算。
( )5.假设以行序为主序存储二维数据A=array[1..100,1..100],基地址为10,若每个数据元素占2个存储单元,则A[5,5]的地址为
1010。
()6.折半查找适用于采用顺序存储结构的有序表,不宜用于链式结构。
()7.极小连通子图就是该子图是G的连通子图,在该子图中删除任何一条边,子图不再连通。
()8.分治法就是对于一个较为复杂的问题,能够分解成几个相对简单的且解法相同或类似的子问题来求解。
()9.链表是可以随机存取表中任一元素的,顺序表是顺序存储元素的。
()10.用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。
四、程序填空题(每个空2分,共10分)
1.以下是对顺序表L实现冒泡排序的算法,请在下划线处填上正确的内容。
void BubbleSort(SqlList &L)
{m=L.length-1; flag=1;
While((m>0)&&(flag==1))
{flag=0;
For(j=1; j<=m; j++)
If(L.r[j].key > L.r[j+1].key)
{flag=1;
t=L.r[j]; ____________; L.r[j+1]=t;
}
--m;
}
}