1 . 数据的(C)是面向计算机的
A. 数据结构
B. 逻辑结构
C. 物理结构
D. 线性结构
E. 非线性结构
2 .(C)是组成数据的基本单位。
A. 数据项
B. 数据对象
C. 数据元素
D. 数据类型
E. 操作
F. 抽象数据类
3 .(B)特点是:信息隐蔽和数据封装,使用与实现相分离。
A. 操作
B. 抽象数据类型
C. 数据元素
D. 数据
4 . 下面程序段执行时,语句S的执行次数为:(D)
A. n2
B. n2/2
C. n(n+1)
D. n(n+1)/2
5 . 下面程序段的时间复杂度为:(B)
A. O(1)
B. O(n)
C. O(n2)
D. O(n!)
6 . 一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为:(C )
A. O(n2)
B. O(nlog2n)
C. O(n)
D. O(log2n)
7 . 在下面程序段中,s=s+p语句的执行次数为:(E)
A. n2
B. n2/2
C. n(n+1)
D. n(n+1)/2
E. n
F. n/2
8 . 下面程序段的时间复杂度为:(C)
A. O(1)
B. O(n)
C. O(n2)
D. O(n!)
9 . 在线性表的下列运算中,不改变数据元素之间结构关系的运算是(D)
A. 插入
B. 删除
C. 排序
D. 定位
10 . 线性表采用链式存储时,其地址(D)
A. 必须是连续的
B. 一定是不连续的
C. 部分地址必须是连续的
D. 连续与否均可以
11 . 线性表L在(B)情况下适用于使用链式结构实现。
A. 需经常修改L中的结点值
B. 需不断对L进行删除插入
C. L中含有大量的结点
D. L中结点结构复杂
12 . 设单链表中结点的结构为(data,link),单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为(A)
A. p->Link=p->Link->Link;
B. p=p->Link;
C. p=p->Link->Link;
D. p->Link=p;
13 . 在顺序表中,只要知道(D),就可在相同时间内求出任一表项的存储地址。
A.基地址
B.表项序号
C.向量大小
D.基地址和表项序号
14 . 在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是
(B)。
A. O(1)
B. O(n)
C. O(n2)
D. O(log2n)
15 . 在一个链式队列中,假定front和rear分别为队头和队尾指针,则删除一个结点的操作为___
A. front=front->next
B. rear=rear->next
C. rear=front->next
D. front=rear->next
正确答案:A
答题错误
15 . 在一个具有n个单元的顺序栈中,假定用top= =n表示栈空,则向这个栈插入一个元素时,首先应执行(B)语句修改top指针。
A. top++
B. top--
C. top=0
D. top
16 . 在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为(C)。
A. rear%n == front
B. front+l == rear
C. rear == front
D. (rear+l)%n == front
17 . 队列的插入操作在(B)进行。
A. 队头
B. 队尾
C. 任意位置
D. 指定位置
18 . 设有一个递归算法如图,正确的叙述是(B)
A.计算fact(n)需要执行n次递归
B. fact(7)=5040
C.此递归算法最多只能计算到fact(8)
D.以上结论都不对
19 . 设有一个递归算法如图,正确的叙述是(B)
A. maze(1020,10,7)=356
B. maze(352,4,11)=16214
C. maze(16,2,2)=8
D.以上三个答案都不对
20 . 设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为(A)。
A. p +[i*n+j]*k
B. p+[(i-1)*n+j-1]*k
C. p+[(j-1)*n+i-1]*k
D. p+[j*n+i-1]*k
21 . 若数组A[0…m][0…n]按列先顺序存储,则aij地址为(D)。
A. LOC(a00)+[(j-1)*m+i-1]
B. LOC(a00)+[j*n+i]
C. LOC(a00)+[(j-1)*n+i-1]
D. LOC(a00)+[j*m+i]
22 . 数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为(C)。
A. SA+141
B. SA+144
C. SA+222
D. SA+225
23 . 稀疏矩阵可以采用(B)的压缩存储方法。
A.二维数组
B.三元组
C.跳表
D.散列
24 . 数组就是矩阵,矩阵就是数组,这种说法(B)。
A.正确
B.错误
C.前句对,后句错
D.后句对
25 . 广义表D(a, b, D),其长度为(B)。
A.∞
B. 3
C. 2
D. 5
26 . 一个广义表的表尾总是一个(A)。
A.广义表
B.元素
C.空表
D.元素或广义表
27 .下面的说法中,只有(C)是正确的。
A.字符串的长度是指串中包含的字母的个数
B.字符串的长度是指串中包含的不同字符的个数
C.若T包含在S中,则T一定是S的一个子串
D.一个字符串不能说是其自身的一个子串
28 . 两个字符串相等的条件是(D)。
A.两串的长度相等
B.两串包含的字符相同
C.两串的长度相等,并且两串包含的字符相同
D.两串的长度相等,并且对应位置上的字符相同
29 . 用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中R[1..n],结点R[i]若有左孩子,其左孩子的编号为结点(B)。
A. R[2i+1]
B. R[2i]
C. R[i/2]
D. R[2i-1]
30 . 由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为(D)。
A. 24
B. 48
C. 72
D. 53
31 . 设n , m 为一棵二叉树上的两个结点,在中序遍历序列中n在m前的条件是(B)。
A. n在m右方
B. n在m 左方
C. n是m的祖先
D. n是m的子孙
32 . 根据先序序列ABDC和中序序列DBAC确定对应的二叉树,该二叉树(A)。
A.是完全二叉树
B.不是完全二叉树
C.是满二叉树
D.不是满二叉树
33 . 为提高对有序链表的搜索效率,建议采用(C)数据结构。
A.集合
B.字典
C.跳表
D.散列
34 . 采用开散列法解决冲突时,每一个散列地址所链接的同义词表中各个表项的(C)相同。
A.关键码值
B.元素值
C.散列地址
D.含义
32 . 对一棵二叉搜索树进行()遍历时,得到的结点序列是一个有序序列。
A. 前序
B. 中序
C. 后序
D. 层次
正确答案:B
答题错误
35 . 依据所有数据成员之间逻辑关系的不同,数据结构分为(D、E)
A.数据结构
B.逻辑结构
C.物理结构
D.线性结构
E.非线性结构
36 . 依据数据元素在计算机中的物理存储方式,数据结构分为(A、B、E、F)
A.顺序结构
B.链式结构
C.线性结构
D.非线性结构
E.索引结构
F.散列结构
37 . 一种抽象数据类型包括(A)和(C)
A.数据
B.数据元素
C.操作
D.数据类型
38 . 面向对象=(A)+(B)+(E)+(F)
A.对象
B.继承
C.操作
D.属性
E.类
F.通信
39 . 算法的五大特性是(C、D、F)、输入和输出
A.正确性
B.可读性
C.有限性
D.确定性
E.健壮性
40 . 算法的性能标准是(A、B、E)、高效率和低存储量。
A.正确性
B.可读性
C.有限性
D.确定性
E.健壮性
F.可行性
41 . 线性表的顺序存储结构是一种(A、B)的存储结构
A.随机存取
B.顺序存取
C.索引存取
D.散列存取
42 . 在Hanoi塔问题中,若A塔上有3片圆盘,都要搬到C塔上去,则下列语句(A、D)是错误的。
A.第一步将最小圆盘从A塔搬到B塔
B.第四步将最大圆盘从A塔搬到C塔
C.第七步将最小圆盘从A塔搬到C塔
D.需要8次才能完成工作
43 . 下列说法正确的有:(B、D、F)
A.二叉树中每个结点的度不能超过2,所以二叉树是一种特殊的树。
B.二叉树的前序遍历中,任意结点均处在其子女结点之前。
C.线索二叉树是一种逻辑结构。
D.哈夫曼树的总结点个数(多于1时)不能为偶数。
E.由二叉树的先序序列和后序序列可以唯一确定一颗二叉树。
F.当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
44 . 下列说法正确的有:(A、B、C)
A.树的后序遍历与其对应的二叉树的后序遍历序列相同。
B.根据任意一种遍历序列即可唯一确定对应的二叉树。
C.满二叉树也是完全二叉树。
D.哈夫曼树一定是完全二叉树。
E.树的子树是无序的。
F.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
45 . 集合是(B、D)。
A.有序的
B.无序的
C.线性的
46 . 字典可以进行(E、F、G)操作。
A.交
B.并
C.差
D.相等判断
E.插入
F.删除
G.判断表项是否存在
47 . 字典可以采用(A、C、D)组织方式
A.线性表
B.集合
C.散列表
D.跳表
48 . 下列说法正确的有:(A、D)
A.理想情况下,在散列表中搜索一个元素的时间复杂度为O(1)。
B.在散列法中,一个可用的散列函数必须保证绝对不产生冲突。
C.在散列法中,采取开散列法来解决冲突时,其装载因子的取值一定在(0,1)之间。
D.在散列法中,采取闭散列法来解决冲突时,一般不要立刻做物理删除,否则在搜索时会发生错误。
49 . 下列说法正确的有:(A、B、E、F)
A.线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。
B.算法就是程序。
C.数据元素是数据的最小单位。
D.数据结构是具有结构的数据对象。
E.数据结构是数据对象与对象中数据元素之间关系的集合。
F.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。
50 . 下列说法正确的有:(B、C、E)
A.算法和程序原则上没有区别,在讨论数据结构时二者通用。
B.从逻辑关系上讲,数据结构分为两大类:线性结构和非线性结构。
C.所谓数据的逻辑结构是指数据元素之间的逻辑关系。
D.同一数据逻辑结构中的所有数据元素都具有相同的特性是指数据元素所包含的数据项的个数相等。
E.数据的逻辑结构与数据元素本身的内容和形式无关。
F.数据结构是指相互之间存在一种或多种关系的数据元素的全体。
1 .(A)由某一数据元素的集合以及该集合中所有数据元素之间的关系组成。
A.数据结构
B.逻辑结构
D.线性结构
E.非线性结构
2 . 数据的(B)是面向问题的
A.数据结构
B.逻辑结构
C.物理结构
D.线性结
E.非线性结构
4 . 在(D)中的各个数据成员依次排列在一个线性序列中。
A.数据结构
B.逻辑结构
C.物理结构
D.线性结构
E.非线性结构
5 .(E)中的各个数据成员不在一个线性序列中,数据元素成员可能与零个或多个其他数据成员发生联系。
A.数据结构
B.逻辑结构
C.物理结构
D.线性结构
E.非线性结构
7 .(A)是有独立含义的最小单位,
A.数据项
B.数据对象
C.数据元素
D.数据类型
E.操作
F.抽象数据类型
8 .(B)是性质相同的数据元素的集合。
A.数据项
B.数据对象
C.数据元素
D.数据类型
E.操作
F.抽象数据类型
9 .(C)是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。
A.数据项
C.数据
D.操作
10 .(D)是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称
A.数据
B.数据元素
C.操作
D.数据类型
11 .(D)是指基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作
A.数据
B.操作
C.数据元素
D.抽象数据类型
12 .(D)包括数据对象、结构关系和基本操作
A.数据
B.操作
C.数据元素
D.抽象数据类型
13 .(D)特点是:信息隐蔽和数据封装,使用与实现相分离。
A.操作
B.抽象数据类型
C.数据元素
D.数据
14 . 下面程序段的时间复杂度为:(C)
A. O(m2)
B. O(n2)
C. O(m*n)
D. O(m+n)
19 . 在下面程序段中,p*=j语句的执行次数为:(D)
A. n2
B. n2/2
C. n(n+1)
D. n(n+1)/2
E. n
F. n/2
21 . 算法分析的目的是(B)
A.辨别数据结构的合理性
B.评价算法的效率
C.研究算法中输入与输出的关系
D.鉴别算法的可读性
10. 设单循环链表中结点的结构为(data,link),且rear是指向非空的带表头结点的单循环链表的尾结点指针。若想删除链表第一个结点,应执行(D)操作。
A. s=rear; rear=rear->link; delete s;
B. rear=rear->link; delete s;
C. rear=rear->link->link; delete s;
D. s=rear->link->link; rear->link->link=s->link;delete s;
7 . 设双向循环链表中结点的结构为(data,lLink,rLink),在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是____。
A. p->rLink=s; s->lLink=p; p->rLink->lLink=s; s->rLink=p->rLink;
B. s->lLink=p; s->rLink=p->rLink; p->rLink=s; p->rLink->lLink=s;
C. p->rLink=s; p->rLink->lLink=s; s->lLink=p; s->rLink=p->rLink;
D. s->lLink=p; s->rLink=p->rLink; p->rLink->lLink=s; p->rLink=s;
正确答案:D
答题错误
11. 设单链表中结点的结构为(data,link),单链表中指针p所指结点不是尾结点,若在*p 之后插入结点*s,应执行(B)操作。
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;
12 . 在一个长度为n的顺序表中向第i个元素(0< i A. n-i B. n-i+l C. n-i-1 D. i 13 . 以下关于线性表的说法不正确的是(C)。 A.线性表中的数据元素可以是数字、字符、记录等不同类型。 B.线性表中包含的数据元素个数不是任意的。 C.线性表中的每个结点都有且只有一个直接前趋和直接后继。 D.存在这样的线性表:表中各结点都没有直接前趋和直接后继。 14 . 判断一个带表头结点的双向循环链表L是否对称相等的算法如下所示,执行(A)语句 A. p=p->rLink; q=q->lLink; B. p=p->lLink=s; q=q->rLink; C. p->rLink=p; q->lLink=q; D. p->lLink=s; q->rLink=q; 15 . 非空的循环单链表first的尾结点(由p所指向)满足:(C) A. p->link == NULL B. p == NULL; C. p->link == first; D. p == first; 16 . 在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为(C)。 A. top不变 B. top=0 C. top-- D. top++ 17 . 向一个栈顶指针为top的链式栈中插入一个s结点时,应执行(B)。 A. top->link=s; B. s->link=top; top =s; C. s->link=top->link; top->link=s; D. s->link=top; top=top->link; 18 .在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为(D)。 A. rear%n == front B.(front+l)%n == rear C. rear%n -1 == front D. (rear+l)%n == front 19 .由两个栈共享一个向量空间的好处是:(B) A.减少存取时间,降低下溢发生的机率 B.节省存储空间,降低上溢发生的机率 C.减少存取时间,降低上溢发生的机率 D.节省存储空间,降低下溢发生的机率 21 .通常对数组进行的两种基本操作是(C) A.建立与删除 B.索引和修改 C.查找和修改 D.查找与索引 23.设有广义表D=(a,b,D),其深度为(A)。 A.无穷大 B. 3 C. 2 D. 5 24.空串与空白串组成的区别在于(B)。 A.没有区别 B.两串的长度不相等 C.两串的长度相等 D.两串包含的字符不相同 25 . 一个子串在包含它的主串中的位置是指(D)。 A.子串的最后那个字符在主串中的位置 B.子串的最后那个字符在主串中首次出现的位置 C.子串的第一个字符在主串中的位置 D.子串的第一个字符在主串中首次出现的位置 26.假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为(B)个。 A. 15 B. 16 C. 17 D. 47 28.线索二叉树中,结点p没有左子树的充要条件是(B)。 A. p->LeftChild=NULL B. p->ltag=1 C. p->ltag=1 且p-> LeftChild =NULL D.以上都不对 29.如果F是由有序树T转换而来的二叉树,那么T中结点的前序就是F中结点的(B)。 A.中序 B.前序 C.后序 D.层次序 30.下面叙述正确的是(D)。 A.二叉树的第i层最多有2i-1个结点 B.二叉树等价于度为2的树 C.完全二叉树必为满二叉树 D.二叉树的左右子树有次序之分 32.若根据关键码(23,44,36,48,52,73,64,58)建立散列表,采用h(K)=K%7计算散列地址,则散列地址等于3的元素有(B)个。 A. 1 B. 2 C. 3 D. 4 33.若根据关键码建立长度为m的散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为d,则下一次的哈希地址为(D)。 A. d B. d+1 C. (d+1)/m D. d+1)%m 34.采用开散列法解决冲突时,每一个散列地址所链接的同义词表中各个表项的(C)相同。 A.关键码值 B.元素值 C.散列地址 D.含义 41 . 若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对该图进行广度优先搜索,得到的顶点序列可能为( )。 A. A,B,C,D,E,F B. A,B,C,F,D,E C. A,B,D,C,E,F D. A,C,B,F,D,E 正确答案:D 答题错误 42 . 已知一个有向图的边集为{,,,,, A. a,b,c,d,e B. a,b,d,e,b C. a,c,b,e,d D. a,c,d,b,e 正确答案:A 答题错误 45 . AOE网络如图所示,这个工程关键活动是()。 A. <1,3><3,2><2,5><5,6> B. <1,3><3,2><2,5><5,6> C. <1,2><2,4><4,6> D. <1,3><3,5><5,6> 输入答案:C 正确答案:B 答题错误 19 . 假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。 A. 15 B. 16 C. 17 D. 47 正确答案:B 答题错误 25 . 解决散列法中出现的冲突问题常采用的方法是()。 A. 数字分析法、除留余数法、平方取中法。 B. 数字分析法、除留余数法、线性探查法。 C. 数字分析法、线性探查法、双散列法。 D. 线性探查法、双散列法、开散列法。 正确答案:D 答题错误 40 . 设图的邻接表如图所示,则该图的边的数目是() A. 4 B. 5 C. 10 D. 20 正确答案:B 答题错误 50 . 下列说法正确的有:() A. 关键活动不按期完成就会影响整个工程的完成时间。 B. 邻接矩阵只适用于稠密图(边数接近于顶点数的平方),邻接表适用于稠密图(边数接近于顶点数的平方)。 C. 有n(n≥1)个顶点的无向连通图最少有n-1条边。 D. 邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。 输入答案: 正确答案:ABC 答题错误 7 . 从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较________个元素结点。 A. n/2 B. n C. (n+1)/2 D. (n-1)/2 输入答案:B 正确答案:C 答题错误 15 . 队列的删除操作在( )进行。 A. 队头 B. 队尾 C. 任意位置 D. 指定位置 输入答案:B 正确答案:A 答题错误 30 . 从具有n个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂度为() A. O(n) B. O(1) C. O(logn/log2) D. O(n*n) 输入答案:C 正确答案:A 答题错误 37 . 在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素个数为( )。 A. n B. n*e C. e D. 2*e 输入答案:D 正确答案:C 答题错误 39 . 在一个无权图的邻接表表示中,每个边结点至少包含( )域。 A. 1 B. 2 C. 3 D. 4 输入答案:A 正确答案:B 答题错误 40 . 对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为( )。 A. k1 B. k2 C. k1-k2 D. k1+k2 正确答案:B 答题错误 48 . 下列说法正确的有:() A. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。 B. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需要改动某个结点的指针,使它由空变为非空即可。 C. 对于两棵具有相同关键码集合而形状不同的二叉搜索树,按中序遍历它们得到的序列的各元素的顺序是一样的 D. 在二叉搜索树上删除一个结点时,不必移动其它结点,只要将该结点的双亲结点的相应指针域置空即可。 输入答案:BD 正确答案:BC 答题错误 50 . 下列说法正确的有:() A. 存储无向图的是对称的,因此只要存储邻接矩阵的上(下)三角部分就可以了。 B. 对任何用顶点表示活动的网络(AOV网)进行拓扑排序的结果都是唯一的。 C. 强连通分量是有向图中的极大强连通子图。 D. 所有的关键活动都提前完成,那么整个工程将会提前完成。 输入答案: 正确答案:ACD 答题错误