一、选择题
- 从逻辑上可以把数据结构分成 B 。
A. 动态结构和静态结构 B. 线性结构和非线性结构
C . 紧凑结构和非紧凑结构 D. 内部结构和外部结构
- 序列40、23、60、25、80、90、95进行快述排序,一次划分结果为 B 。
A. 23、25、40、60、80、90、95 B. 25、23、40、60、80、90、95
C. 23、40、60、25、80、90、95 D. 23、25、40、60、80、90、95
- 对N个结点的二叉排序树,下列说法中正确的选项是 A 。
A. 查找效率较高的二叉排序树一定是平衡二叉树
B. 查找效率较高的二叉排序树其的高度为N
C. 查找效率较高的二叉排序树其的高度为N/2
D. 查找效率与二叉排序树的高度无关
- 通常我们称算法在计算机上运行时,所耗费时间为 A 。
A.算法的时间复杂度 B.算法的空间复杂度
C.算法的硬件效率 D.算法的软件效率
- 在单链表中删除指针p所指结点的后继s时,正确的操作为 D 。
A. p->next = s; B. s = p->next;
C. s->next = p->next; D. p->next = s->next;
- 一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度是2,则第10个元素的存储地址是 B 。
A.110 B.118
C.100 D.120
- 已知一个栈的入栈顺序是abcde,入栈三次出栈一次,入栈两次出栈一次后栈中元素从栈底到栈顶的序列是 C 。
A. dce B.bce
C. abd D.abc
- 用权值:1、2、3、4、5构造哈夫曼树,则该树的高度为 C 。
A. 2 B. 3 C. 4 D. 5
- 当循环队列Q(元素个数为n)中,队尾空闲一个单元区别队列空满状态时,判断队列为满的选项为 A 。
A.(Q->rear+1)%n== Q->front B.Q->rear-Q->front==n
C. Q->rear==Q->front+1 D.Q->rear==Q->front
- 描述循环队列正确的选项为: B 。
A.循环队列是将链表首尾相接形成的
B.循环队列是顺序存储的队列,通过模运算使队头队尾相接
C.循环队列是顺序存储的队列,把对头和队尾物理相接。
D.以上说法都不对
- 当线性表存储时,如果采用链式存储结构,存储数据元素的地址空间 D 。
A. 一定是连续的 B. 部分地址必须是连续的
C. 一定是不连续的 D. 连续与否均可以
- 当线性表用链表的存储时,指针是表示 A 。
A.关系 B.数据元素 C.数据项 D.不确定
- 已知二叉树的先序遍历序列为a b d e f g c 中序为:d b f e g a c 则后序遍历序列为: D 。
A. e g d f b c a B. d e f g b c a
C. d f e g b a c D. d f g e b c a
- 对图进行广度遍历,可能得到的序列为 A 。
A. 12345678 B. 13547862
C. 13246758 D. 12357864
- 在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是 C 。
A. front= =rear+1 B. front+1= =rear
C. front= =rear D. front= =0
- 在双向链表存储结构中,删除p所指的结点时需修改指针 B 。
A. ((p->rlink) ->rlink) ->link=p; p->rlink=(p->rlink) ->rlink;
B. (p->llink) ->rlink=p->rlink; (p->rlink) ->llink=p->llink;
C. p->llink=(p->llink) ->llink; ((p->llink) ->llink) ->rlink=p;
D. ((p->llink) ->llink) ->rlink=p; p->llink=(p->llink) ->llink;
- 一组如下系列,哪种构成大顶堆 C 。
A. (79、46、56、38、40、80) B. (84、79、38、46、40、56)
C. (84、79、56、38、40、46) D. (84、56、38、40、46、79)
- 假定一棵二叉树的结点数为18个,则它的最小高度 B 。
A. 4 B. 5 C. 6 D. 18
- 在图结构中,每个结点可以有 C 。
A.只有一个前驱和多个后继 B.只有一个前驱和一个后继
C.可以有多个前驱和多个后继 D.无直接前驱
- 正确描述最小生成树的选项为 B 。
A.由n个顶点和n-1条边构成的图。
B.由n个顶点和权值和最小的n-1条边构成的图。
C.由n个顶点和n-1条边构成的连通图。
D.由n个顶点和权值和最小的n-1条边构成的连通图。
21.以下说法正确的是( D )
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
22. ? 不是算法的基本特征。( B )
A.可行性 B.长度有限
C.在有限时间内完成 D.确定性
23.设输入序列为1,2,3,4,5,6,则通过栈的作用后可以得到的输出序列为( B )
A.5,3,4,6,1,2 B.3,2,5,6,4,1
C.3,1,2,5,4,6 D.1,5,4,6,2,3
24.用链接方式存储的队列,在进行插入运算时( D )
A.仅修改头指针 B.头、尾指针都要修改
C.仅修改尾指针 D.头、尾指针可能都要修改
25.某二叉树的中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,则其左子树中结点数目为( B )
A.5 B.4 C.3 D.2
26.下列结论中正确的是( D )
(1)只有一个结点的二叉树的度为0。
(2)二叉树的度为2。
(3)二叉树的左右子树可任意交换。
(4)深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.(2)(3)(4) B.(1)(2)(3) C.(2)(4) D.(1)(4)
27.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有 ? 条边。( C )
邻接表表头结点个数=图中节点个数
A.n B.n-1 C.m D.m-1
28.设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},
则从顶点a出发可以得到一种深度优先遍历的顶点序列为(A )
A.abedfc B.acfebd C.aebdfc D.aedfbc
29.设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用折半查找值为24的元素需要经过 ? 次比较。( B )
A.1 B.2 C.3 D.4
30.设一组初始记录关键字序列为(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
31.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储( D )
A.数据的处理方法 B.数据元素的类型
C.数据的存储方法 D.数据元素之间的关系
32.算法必须具备输入、输出、 ? 。( B )
A.可行性、可移植性和可扩充性 B.可行性、有穷性和确定性
C.确定性、有穷性和稳定性 D.易读性、稳定性和确定性
33.在长度为n的顺序表中删除一个元素的时间复杂度为( C )
A.O(1) B.O(log2n) C.O(n) D.O(n2)
34.在单链表中增加一个头结点的目的是为了( D )
A.使单链表至少有一个结点 B.说明单链表是线性表的链式存储结构
C.标识链表中重要结点的位置 D.方便运算的实现
35.允许对队列进行的操作有( D )
A.对队列中的元素排序 B.取出最近入队的元素
C.在队头元素之前插入元素 D.删除队头元素
36.在一棵非空二叉树的中序遍历序列中,根结点的右边( D ) A.只有右子树上的所有结点 B.只有右子树上的部分结点
C.只有左子树上的部分结点 D.只有左子树上的所有结点
37.具有n个顶点的连通图至少有 ? 条边。( A )
A.n-1 B.n C.n(n-1)/2 D.2n
38.一棵二叉排序树是由关键字序列(18,43,27,44,36,39,77)构建的,其中序遍历序列是( D )
A.树形未定,无法确定 B.18,43,27,77,44,36,39
C.77,44,43,39,36,27,18 D.18,27,36,39,43,44,77
39.折半查找有序表(2,5, 8,20,25,36,40,60),若查找元素60,需依次与表中 ? 元素进行比较。( A )
A.20,36,40,60 B.25,40 C.25,40,60 D.20,36,40
40.假定对元素序列(7,3,5,9,1,12)进行堆排序,并且采用小根堆,则由初始
数据构成的初始堆为( C )
A.1,5,3,7,9,12 B.1,3,5,7,9,12
C.1,3,5,9,7,12 D.1,5,3,9,12,7
41.如果一个顺序表中第一个元素的存储地址为1000,每个元素占4个地址单元,那么,第6个元素的存储地址应是( A )。
A.1020
B.1010
C.1016
D.1024
42.在下面的程序段中,对x的赋值语句的频度为( D )。
Void fun(int n)
{ int i=1;
While(i<=n) i=i*2;
}
A.O(2n)
B.O(n)
C.O(n2)
D.O(log2n)
43.L是线性表,已知ListLength(L)的值是5,运算DeleteList(L,2)后ListLength(L)的值是( C )。
A.5
B.0
C.4
D.6
44.设单循环链表中结点的结构为(data,link),且first为指向链表表头的指针,current为链表当前指针,在循环链表中检测current是否达到链表表尾的语句是( D )。
A.current->link =null
B.first->link=current
C.first=current
D.current->link=first
45.用DFS遍历一个无环有向图,并用DFS算法退栈返回时打印出相应的顶点,则输出的顶点序列是( B )。
A.逆拓扑有序的
B.拓扑有序的
C.无序的
D.以上都不对
46.如果二叉树B是由一棵树T转换而来的,那么T中结点的后根序列对应B的(B)序列。
A.先序
B.中序
C.后序
D.层次
47.下列排序算法中( B )不能保证每趟排序至少能将一个元素放到其最终的位置上。
A.快速排序
B.shell排序
C.堆排序
D.冒泡排序
48.一个栈的如栈序列为1,2,3,4,5,则栈的不可能的输出序列为( C )。
A.5,4,3,2,1
B.4,5,3,2,1
C.4,3,5,1,2
D.1,2,3,4,5
49.假定一颗度为3的树中,结点总数为50,则其最小高度为(C)
A.3
B.4
C.5
- 6
50.已知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为(D)。
A.-A+B*C/DE
B.-A+B*CD/E
C.-+*ABC/DE
D.ABC*+DE/-