一、选择题
1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是( B )。
(A)线性结构 (B)树型结构 (C)物理结构 (D)图型结构
2.树最适合用来表示( C )。
(A)有序数据元素 (B)无序数据元素
二叉树的深度为k(C)元素之间具有分支层次关系的数据 (D)元素之间无联系的数据
3. 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( B )。
(A) 40,50,20,95 (B) 15,40,60,20
(C) 15,20,40,45 (D) 45,40,15,20
4. 算法的计算量的大小称为计算的( B )。
(A) 效率 (B) 复杂性 C. 现实性 D. 难度
5. 设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为( C )。
(A) O(n) (B) O(nlog2n) (C) O(1) (D) O(n)
6.下面算法的时间复杂度为( B )。
int f(int n)
{
if(n==0||n==1)return 1;
else return n*f(n-1);
}
(A) O(1) (B)O(n) (C)O(n2) (D) O(n!)
7. 以下哪一个不是队列的基本运算?( A )
(A)在队列第i个元素之后插入一个元素 (B)从队头删除一个元素
(C)判断一个队列是否为空 (D)读取队头元素的值
8.不含任何结点的空树。( C )
(A)是一棵树; (B)是一棵二叉树;
(C)是一棵树也是一棵二叉树 (D)既不是树也不是二叉树
9. 若某线性表的常用操作是取第i个元素及其前趋元素,则采用( A )存储方式最节省时间。
(A)顺序表 (B)单链表 (C)双链表 (D)单向循环
10. 带头结点的单链表为空的判断条件为( A ).
(A) first==null (B) first->next==null
(C) first->next==first (D) first!=null
11. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( A )。
(A) 仅修改头指针 (B) 头、尾指针都要修改
(C) 仅修改尾指针 (D) 头、尾指针可能都要修改
12.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( A )。
(A) q=p->next;p->data=q->data;p->next=q->next;free(q);
(B) q=p->next;q->data=p->data;p->next=q->next;free(q);
(C) q=p->next;p->next=q->next;free(q);
(D) q=p->next;p->data=q->data;free(q);
13. 已知L是一个不带表头的单链表的表头指针,在表首插入结点*p的操作是( C )
(A) p = L; p.next =L (B)& =L ; p=L
(C) p.next =L ; L = p (D) L = p; p.next =L ;
14. 判定一个栈ST(最多元素为m0)为空的条件是( B )
(A)ST->top<>0 (B) ST->top=0 (C) ST->top<>m0 (D)ST->top=m0
15. 设循环队列的结构是
Struct Queue {
DataType data[MaxSize];
Int front, rear;
};
若有一个Queue 类型的队列Q ,试问判断队满的条件为( D )
(A) Q.from == Q.rear; (B) Q.front == Q.rear == MaxSize;
(C) Q.ar == MaxSize; (D) Q.front == (Q.rear+1) % MaxSize;
16. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( C )。
(A) 5 4 3 6 1 2 (B) 4 5 3 1 2 6 (C) 3 4 6 5 2 1 (D) 2 3 4 1 5 6
17、一个队列的入列序列是1,2,3,4,则队列的输出序列是( B )。
(A)4,3,2,1 (B)1,2,3,4 (C)1,4,3,2 (D)3,2,4,1
18. 栈的插入和删除操作在( A )进行。
(A) 栈顶 (B) 栈底 (C) 任意位置 (D) 指定位置
19. 把一棵树转换为二叉树后,这棵二叉树的形态是( A )。
(A)唯一的 (B)有多种
(C)有多种,但根结点都没有左孩子 (D)有多种,但根结点都没有右孩子
(A) n-i (B) n-1-i (C) n+l -i (D) 不能确定
20. 设数组]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( A )
(A)front=(front+1)%(m+1) (B) front=(front+1)% m
(C)rear=(rear+1)% m (D) front=front+1
21. 循环队列存储在数组]中,则入队时的操作为( D )。
(A) rear=rear+1 (B) rear=(rear+1) mod (m-1)
(C) rear=(rear+1) mod m (D) rear=(rear+1)mod(m+1)
22. 函数substr(“DATASTRUCTURE”,5,9)的返回值为( A )。函数substr(S,pos,len)的功能为返回串S的第pos个字符起长度为len的子串。
(A) “STRUCTURE” (B) “DATA”
(C) “ASTRUCTUR” (D) “DATASTRUCTURE”
23、如下陈述中正确的是( A )。
(A)串是一种特殊的线性表 (B)串的长度必须大于零
(C)串中元素只能是字母 (D)空串就是空白串
24. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在( C )位置?(脚注(10)表示用10进制表示。)
(A) 688 (B) 678 (C) 692 (D) 696
25.设有一个广义表A((x,(a,b)),(x,(a,b),y)),运算Head(Head(Tail(A)))的执行结果为( A )
(A)x (B)(a, b) (C)(x,(a, b)) (D) y
26. 在下述结论中,正确的是( D )
①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
(A) ①②④ (B) ②③④ (C) ②④ (D) ①④
27. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为( D )
(A) 5 (B) 6 (C) 7 (D) 8
28. 具有10个叶结点的二叉树中有( B )个度为2的结点。
(A) 8 (B) 9 (C) 10 (D) 11
29、二叉树的第k层的结点数最多为( D )。
(A)2k-1 (B)2K+1 (C)2K-1 (D) 2k-1
30. 在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为(
C )。
(A)4 (B)5 (C)6 (D)7
31. 某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序列是:(B)
(A) E,G,F,A,C,D,B (B) E,A,C,B,D,G,F
(C) E,A,G,C,F,B,D (D) 上面的都不对
32. 设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( B )个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m
33. 由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( B )。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论