数据结构参考答案.doc
文本预览下载声明
助人教育QQ:707223565
数据结构试题
一、单项选择题
1.数据结构是( D )
A.一种数据类型 B.数据的存储结构
C.一组性质相同的数据元素的集合 D.相互之间存在一种或多种特定关系的数据元素的集合
2.算法分析的目的是( B )
A.辨别数据结构的合理性 B.评价算法的效率
C.研究算法中输入与输出的关系 D.鉴别算法的可读性
3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( D )
A.插入 B.删除
C.排序 D.定位
4.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为( A )
A.1207 B.1209
C.1211 D.1213
5.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( A )
A.不一定相同 B.都相同
C.都不相同 D.互为逆序
6.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( C )
A.层次遍历算法 B.前序遍历算法
C.中序遍历算法 D.后序遍历算法
7.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( A )
A.图中每个顶点的入度 B.图中每个顶点的出度
C.图中弧的条数 D.图中连通分量的数目
8.图的邻接矩阵表示法适用于表示( C )
A.无向图 B.有向图
C.稠密图 D.稀疏图
9.在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为( D )
A.i B.i+1
C.n-i D.n-i+1
10.下列排序算法中,其时间复杂度和记录的初始排列无关的是( B )
A.插入排序 B.堆排序 C.快速排序 D.冒泡排序
11.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为( A )
A.f,c,b B.f,d,b C.g,c,b D.g,d,b
12.若在文件中查询年龄在60岁以上的男性及年龄在55岁以上的女性的所有记录,则查询条件为( C )
A.(性别 “男”)OR 年龄 ?60 OR()
B.(性别 “男”)OR 年龄 ?60 AND()OR()()13.设单链表中结点的结构为
typedef struct node //链表结点定义
ElemType data; //数据
struct node * Link; //结点后继指针
ListNode;
(1)已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作? A. s- link p; p- link s;
B. s- link p- link; p- link s;
C. s- link p- link; p s;
D. p- link s; s- link p;
(2)非空的循环单链表first的尾结点(由p所指向)满足: A. p- link NULL;
B. p NULL;
C. p- link first;
D. p first;
把二叉树转换到树和森林自然的方式是:若结点x是双亲y的左孩子,则把x的右孩子,右孩子的右孩子,…,都与y用连线连起来,最后去掉所有双亲到右孩子的连线依此邻接表从顶点C出发进行深度优先遍历。
(1)画出由此得到的深度优先生成树;
(2)写出遍历过程中得到的从顶点C到其它
各顶点的带权路径及其长度。
23.从空树起,依次插入关键字37,50,42,18,48,12,56,30,23,构造一棵二叉排序树。
(1)画出该二叉排序树;
(2)画出从(1)所得树中删除关键字为37的结点之后的二叉排序树。
四、算法阅读题
24.已知用有序链表存储整数集合的元素。阅读算法f30,并回答下列问题:
(1)写出执行f30(a,b)的返回值,其中a和b分别为指向存储集合 2,4,5,7,9,12 和 2,4,5,7,9 的链表的头指针; 返回值为0
(2)简述算法f30的功能; 判断两个有序整数集合的链表是否相同(结点个数相同,对应结点的值相同)若相同,返回1,反之,返回0
(3)写出算法f30的时间复杂度。 O(n)
int f30 LinkList ha,LinkList hb
显示全部