《数据结构》试卷(A
学    号:              姓  名:            日期:       
题  号
总  分
得  分
一、选择题(每小题2分,共30分,请写在答卷纸上):
1.下列程序段的时间复杂度为(  )。
i=0s=0
while (s<n) {s=s+ii++}
A. O(n1/2)    B. O(n1/3)    C. O(n)    D. O(n2)
2.每个结点有且仅有一个直接前趋和多个(或无)直接后继(第一个结点除外)的数据结构称
为(
A.树状结构      B.网状结构        C.线性结构        D.层次结构
3.在带有头结点的单链表head中,要向表头插入一个由指针p指向的结点,则执行(  )
A. p->next=head; head=p;      B. p->next=head->next; head先序中序后序遍历二叉树->next=p;
C. p->next=head; p=head;      D. head=p; p->next=head;
4.一个栈的输入序列为a b c,则下列序列中不可能是栈的输出序列的是(  )
A. b c a        B. c b a         C. c a b            D. a b c
5.无向完全图G有n个结点,则它的边的总数为( 
A.n2            B.n(n-1)          C.n(n-1)/2        D.(n-1)
6.若一棵二叉树有10个度为2的结点,5个度为1的结点,则度为0的结点数是(  
A.9              B.11            C.15                D.不确定
7.设连通G中的边集E={(a,b),(a,c),(a,e),(b,e),(d,e),(d,f),(e,f)}在下面的4个序列中,不符合深度优先遍历的序列是(  
A.acfdeb        B.aebdfc        C.aedfbc            D.aefdbc
8.队列是一种(  )的线性表。
A.先进先出    B.先进后出    C.只能插入    D.只能删除
9.已知二叉排序树G,要输出其结点的有序序列,则采用的遍历方法是(  
A.按层遍历      B.序遍历          C.中序遍历        D.序遍历
10. 设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i
结点的左孩子结点的编号为(  )。
A. 2i+1    B. 2i    C. i/2    D. 2i-1
11.对序列(15,9,7,8,20,-1,4)进行排序,第一趟排序后的序列变为(4,9,-1,8,20,
7,15),则采用的排序方法是(  )。
A.选择            B.快速          C.希尔            D.冒泡
12.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查,则查A3]的比较序列的下标依次为(      )
A. 123        B. 9523      C. 953            D. 9423
13.设顺序循环队列Q[M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的当前位置,尾指针R总是指向队尾元素的后一位置,则该循环队列中的元素个数为(  )。
A.R-F          B.F-R      C.(R-F+M)%M          D.(F-R+M)%M
14.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到
连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]
的地址之差为(  )。
A.10          B.19        C.28          D.55
15.在一个以head为头结点指针的非空单循环链表中,指针p指向链尾结点的条件是(
A.p -> data = - 1    B.p -> next = NULL
C.p -> next -> next=head    D.p -> next = head
二.填空(每题2分,共22分,请写在答卷纸上)
1.数据元素之间的关系在计算机中有两种不同的表示方法: 【 】【 】
2.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是【 】
3.一个中缀算术表达式为(A+B/C-D*(E-F),对应的后缀表达式为【 】
4.设一棵完全二叉树中有500个结点,则该二叉树的深度为【 】;若用二叉链表作为该完全二叉树的存储结构,则共有【 】个空指针域。
5.假定一棵树的广义表表示为ACDEFG),HIJ)),则树中所含的结点数为【 】个,树的深度为【 】,树的度为【 】
6.若以(4,5,6,7,8)作为叶子结点的权值构造哈夫曼树,则其带权路径长度是【 】
7.有向图G中有向边的集合E={<v1,v2>,<v1,v3>,<v2,v5>,<v2,v6>,<v3,v5>,<v3,v6>,
<v5,v4>,<v6,v4>>>}则该图两个拓扑排序序列分别为【 】【 】
8.一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为【 】
9.已知广义表A=(x,((a,b),c)),函数GetHead(GetHead(GetTail(A)))的运算结果是【 】
10. 一个队列的入队序列是1234,则出队序列是【4】
11. 设无向图G(如右图所示),则其最小生成树上所有边的权值之和为【4】
三、判断题(每小题1 分,共10分,请写在答卷纸上)
1.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。(  )
2.当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。(  )
3.分块查的基本思想是首先在索引表中进行查,以便确定给定的关键字可能存在的块号,然后再在相应的块内进行顺序查。(  )
4.带权无向图的最小生成树是唯一的。(  )
5.哈夫曼树中没有度数为1的结点。(  )
6.对连通图进行深度优先遍历可以访问到该图中的所有顶点。(  )
7.稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。(  )
8.由树转化成二叉树,该二叉树的右子树不一定为空。(  )
9.线性表中的所有元素都有一个前驱元素和后继元素。(  )
10. 完全二叉树中的叶子结点只可能在最后两层中出现。(  )
四、应用题(题6 分,共30分)
1.下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。
void bubble(int r[n])
{
for(i=1;i<=n-1; i++)
{
for(exchange=0,j=0; j<_____________;j++)
if (r[j]>r[j+1]){temp=r[j+1];______________;r[j]=temp;exchange=1;}
if (exchange==0) return;
}
}
2.对关键字序列(26,18,60,14,7,45,13,32)进行降序的堆排序,写出构建的初始堆(小根堆)及前两趟重建堆之后序列状态。
初始堆:
第一趟:
第二趟:
3.设散列函数为H (key)=key % 11,散列地址空间为0··10,对关键字序列(27,13,55,32,18,49,24,38,43)用线性探查法解决冲突,构建散列表。现已有前4个关键字构建的散列表如下所示,请将剩余5个关键字填入表中相应的位置。
4.已知一棵二叉树的前序遍历和中序遍历序列分别为:ABCDEFG和CBDAEGF,要求:
(1)画出此二叉树;
(2)给出后序遍历序列;
(3)画出中序前驱线索二叉树。
5.下图所示的森林: 
(1) 树(a)先根序列和后根序列;
(2) 求森林先序序列和中序序列;
(3)将此森林转换为相应的二叉树
   
五、算法设计(共8分)
1.假设以单链表表示线性表,单链表的类型定义如下:
typedef struct node {
DataType data;
Struct node  *next;
} LinkNode,* LinkList;
设计判断单链表中元素是否是递增的算法。
参考
一、选择题(每小题2 分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
答案
A
A
B
C
C
B
A
A
C
B
C
D
C
B
D
二、填空题(每小题2分,共22分)
1
顺序映像
非顺序映像
2
(n-1)/2
3
AB+C/DEF-*-
4
9
500
5
9
3
3
6
69
7
V1,V2,V3,V6,V5,V4
或V1,V2,V3,V5,V6,V4
V1,V3,V2,V6,V5,V4
或V1,V3,V2,V5,V6,V4
8
40,38,46,56,79,84
9
(a,b)
10
1234
11
8
三、判断题(每小题1分,共10分)
题号
1
2
3
4
5
6
7
8
9
10
答案
Y
Y
Y
N
Y
Y
Y
N
N
Y
四.应用题
1.答: n-i    r[j+1]=r[j]
2. 解: 初始堆: 7, 14, 13, 26, 18, 45, 60, 32
      第一趟: 32, 14, 13, 26, 18, 45, 60, 7
      第二趟: 60, 14, 32, 26, 18, 45, 13, 7
3. 解: 
  0  1  2  3  4  5  6  7  8  9  10
 
  55  43  13  24      27  49  18  38      32
 
4.解: (1) 二叉树如下:
     
    (2) 后序遍历序列为CDBGFEA
    (3) 中序前驱线索二叉树如下:
       
 
5.解: (1)先根序列:ABCDEF  后跟序列:BDEFCA

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。