《数据结构》期中测试-2014计算机应用技术用
1-12每题3分
1. 以下算法的时间复杂度为( )
for( i=n-1;i>=1; - -i)
for( j=1;j<=i;j++)
if(a[j]>a[j+1]) a[j]与a[j+1]对换;
A. O(n)B. O(n*log2n)C. O(log2n)D. O(n2)
2.下面关于线性表的叙述中,错误的是哪一个?( )
A.线性表采用顺序存储,可根据元素的序号随机访问元素
B.线性表采用顺序存储,插入操作在表尾进行时复杂度最高
C.线性表采用链式存储,插入操作在表头进行时复杂度最低
D.线性表采用链式存储,删除操作在表头进行时复杂度最低
3. 设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表 B.单循环链表 C. 带尾指针的单循环链表
D.带头结点的双循环链表
4. 设指针变量p指向双向循环链表中的某结点,能删除p所指结点的操作为( )。A. p->next = p->prior->next; p->prior= p->next->prior; free(p);B. p->prior->next=p->next; p->next->prior=p->prior; free(p); C. free(p); p=p->next; D. 以上都不正确
5. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( )。
A. 不确定 B. n-i+1 C. i D. n-i
6. 进行银行窗口服务业务模拟时,应该采用的数据结构为( )
A.栈 B.队列 C.树 D.图
7. 对于最大容量为n的循环队列Q,队尾指针是Q.rear,队头是Q.front,则队满的条件是 ( )
A. (Q.rear+1) % n=Q.front B. Q.rear=Q.front
C.Q.rear+1=Q.front D. (Q.rear-1) % n=Q.front
8. 一棵完全二叉树上有1023个结点,其中叶子结点的个数是( )
A. 512 B. 511 C.513 D.前述答案均不正确
9. 关于树与其对应的二叉树说法正确的是( )
A. 两者叶子数相同
B. 两者深度相同
C. 两者结点数相同
D. 两者度为2的结点数相同
10. 算术表达式a+b*(c+d/e)转为后缀表达式后为( )
A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++
11. 关于Huffamn树,如下说法错误的是( )
A. 多于1个叶子结点的Huffman树中不存在度为1的结点
B. Huffman树中,任意调整结点左右孩子的顺序,不影响带权路径长度
C. Huffamn树的带权路径长度最大
D. Huffman树中,权值越大的叶子结点离根结点越近
12. n个结点的线索二叉树上含有的线索数为( )
A. 2n B. n-l C. n+l D. n
13-18每题2分
13.链式存储的优点是插入、删除元素时不会引起后续元素的移动,缺点是只能顺序访问各元素。( DUI )
A.正确 B.错误
14. 单链表中引入头结点会使结点插入操作的时间复杂度降为常数阶。( CUO )
A.正确 B.错误
15.双循环链表中,任一个结点的前驱与后继指针都不为空。( DUI )
A.正确 B.错误
16. 循环队列执行出队操作时会引起大量元素的移动。( CUO )
A.正确 B.错误
17. 树的后根序遍历序列等同于它所对应二叉树的中序遍历序列。( DUI )
A.正确 B.错误
18.二叉树可以用二叉链表存储,树无法用二叉链表存储。( CUO )
A.正确 B.错误
以下每小问分值,在题后标出
19.已知树的先根序列FKDAIE和后根序列DIAEKF
(1)试画出该树;-----------------------6分
(2)试画出该树对应的二叉树;-