1.一个算法是。
A. 程序
B. 要满足五个基本特性
C. 具体问题求解步骤的描述
D. A和C
2. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是。
A. 在第i个结点后插入一个新结点(1≤i≤n)
B. 删除第i个结点(1≤i≤n)
C. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
D. 将n个结点从小到大排序
3. 一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是。
A. 5 4 1 3 2 B. 2 3 4 1 5
C. 2 3 1 4 5 D. 1 5 4 3 2
4. 若循环队列的队头指针为front,队尾指针为rear,则队长的计算公式为。
A. rear-front B. front-rear
C. rear-front+1 D. 都不正确
5. 下面关于串的的叙述中,是不正确的。
A. 空串是由空格构成的串
B. 串可以顺序存储
C. 模式匹配是串的一种重要运算
D. 串可以链式存储
6. 设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为。
A. 10 B. 28 C. 19 D. 55
7. 下面说法不正确的是。
A. 广义表的表尾总是一个广义表
B. 广义表的表头总是一个广义表
C. 广义表难以用顺序存储结构来存储表示
D. 广义表可以是一个多层次的结构
8. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是。
A. 500 B. 505 C. 503 D. 501
9. 设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为。
A. 20 B. 30 C. 40 D. 45
10.设已将元素a1、a2、a3依次入栈,元素a4正等待入栈。那么下列4个序列中不可能出现的出栈序列是。
A. a3、a1、a4、a2 B. a3、a2、a4、a1
C. a3、a4、a2、a1 D. a4、a3、a2、a1
11.下面关于算法的叙述中错误的是。
A. 一个算法应有一个或多个输入
B. 算法最终必须由计算机程序实现
C. 为解决某问题的算法同为该问题编写的程序含义是相同的
D. 算法中的每条指令都必须有明确的含义
12.在一个单链表中,已知q所指向的结点是p所指向结点的前驱结点,若在q和p 之间插入s所指向的结点,则执行。
A. s->next=p->next;p->next=s; B. p->next=s->next;s->next=p;
C. q->next=s;s->next=p; D. p->next=s;s->next=q;
13.栈和队列都是。
A. 顺序存储的线性结构 B. 限制存取点的线性结构
C. 链接存储的线性结构 D. 限制存取点的非线性结构
14.经过以下队列运算后,QueueEmpty(qu)的值是。
initQueue(qu);enQueue(qu,a);enQueue(qu,b);deQueue(qu,x);deQueue(qu,x);
A. a B. b C. 0 D. 1
15.串是。
A. 一些符号构成的序列 B. 任意有限个字符构成的序列
C. 一些字母构成的序列 D. 一个以上的字符构成的序列
16.将一个A[1..100,1..100]的三对角矩阵,按行优先压缩存储到一维数组B[1‥298]中,A中元素A[66][65]在B数组中的位置K为。
A. 198 B. 197 C. 195 D. 196
17.广义表(a,(b,c),d,e)的表头为。
A. a B. a,(b,c) C. (a,(b,c)) D. (a)
18.具有50个结点的二叉树中,若用二叉链表存储,其指针域部分用来指向结点的左、右孩子,其余个指针域为空。
A. 49 B. 25 C. 24 D. 51
19.设给定权值总数有n 个,其哈夫曼树的结点总数为。
A. 不确定 B. 2n-1 C. 2n+1 D. 2n
20.广义表G=(a,(a,(a)))的长度为。
A. 1 B. 2 C. 3 D. 4
A. 程序
B. 要满足五个基本特性
C. 具体问题求解步骤的描述
D. A和C
2. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是。
A. 在第i个结点后插入一个新结点(1≤i≤n)
B. 删除第i个结点(1≤i≤n)
C. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
D. 将n个结点从小到大排序
3. 一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是。
A. 5 4 1 3 2 B. 2 3 4 1 5
C. 2 3 1 4 5 D. 1 5 4 3 2
4. 若循环队列的队头指针为front,队尾指针为rear,则队长的计算公式为。
A. rear-front B. front-rear
C. rear-front+1 D. 都不正确
5. 下面关于串的的叙述中,是不正确的。
A. 空串是由空格构成的串
B. 串可以顺序存储
C. 模式匹配是串的一种重要运算
D. 串可以链式存储
6. 设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为。
A. 10 B. 28 C. 19 D. 55
7. 下面说法不正确的是。
A. 广义表的表尾总是一个广义表
B. 广义表的表头总是一个广义表
C. 广义表难以用顺序存储结构来存储表示
D. 广义表可以是一个多层次的结构
8. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是。
A. 500 B. 505 C. 503 D. 501
9. 设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为。
A. 20 B. 30 C. 40 D. 45
10.设已将元素a1、a2、a3依次入栈,元素a4正等待入栈。那么下列4个序列中不可能出现的出栈序列是。
A. a3、a1、a4、a2 B. a3、a2、a4、a1
C. a3、a4、a2、a1 D. a4、a3、a2、a1
11.下面关于算法的叙述中错误的是。
A. 一个算法应有一个或多个输入
B. 算法最终必须由计算机程序实现
C. 为解决某问题的算法同为该问题编写的程序含义是相同的
D. 算法中的每条指令都必须有明确的含义
12.在一个单链表中,已知q所指向的结点是p所指向结点的前驱结点,若在q和p 之间插入s所指向的结点,则执行。
A. s->next=p->next;p->next=s; B. p->next=s->next;s->next=p;
C. q->next=s;s->next=p; D. p->next=s;s->next=q;
13.栈和队列都是。
A. 顺序存储的线性结构 B. 限制存取点的线性结构
C. 链接存储的线性结构 D. 限制存取点的非线性结构
14.经过以下队列运算后,QueueEmpty(qu)的值是。
initQueue(qu);enQueue(qu,a);enQueue(qu,b);deQueue(qu,x);deQueue(qu,x);
A. a B. b C. 0 D. 1
15.串是。
A. 一些符号构成的序列 B. 任意有限个字符构成的序列
C. 一些字母构成的序列 D. 一个以上的字符构成的序列
16.将一个A[1..100,1..100]的三对角矩阵,按行优先压缩存储到一维数组B[1‥298]中,A中元素A[66][65]在B数组中的位置K为。
A. 198 B. 197 C. 195 D. 196
17.广义表(a,(b,c),d,e)的表头为。
A. a B. a,(b,c) C. (a,(b,c)) D. (a)
18.具有50个结点的二叉树中,若用二叉链表存储,其指针域部分用来指向结点的左、右孩子,其余个指针域为空。
A. 49 B. 25 C. 24 D. 51
19.设给定权值总数有n 个,其哈夫曼树的结点总数为。
A. 不确定 B. 2n-1 C. 2n+1 D. 2n
20.广义表G=(a,(a,(a)))的长度为。
A. 1 B. 2 C. 3 D. 4
举一反三
- 在下列算法中,时间复杂度是O(1)的操作是( ) A: 在n个结点的顺序表中,访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B: 在n个结点的链表中,访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) C: 在n个结点的顺序表中,删除第i个结点(1≤i≤n) D: 在n个结点的链表中,删除第i个结点(1≤i≤n)
- 【单选题】在含有n(n 1)个结点的单链表中,实现()运算的时间复杂度为O(n)。 A. 遍历单链表来求第i个结点值 B. 在地址为p的结点后插入一个新结点 C. 删除链表的首结点 D. 删除地址为p的结点的后继结点
- 在n个节点的顺序表中,算法的时间复杂度是O(1)的操作是:( ) A: 访问第i各结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n); B: 在第i个结点后插入一个新结点(1≤i≤n); C: 删除第i个结点(1≤i≤n); D: 将n个结点从小到大排序。
- 【单选题】设 a1 、 a2 、 a3 为 3 个结点,整数 P 0 , 3 , 4 代表地址,则如下的链式存储结构称为 A. 循环链表 B. 单链表 C. 双向循环链表 D. 双向链表
- 在n个元素的线性表的数组表示中,时间复杂度为O(1)的操作是()。 A: 删除第i个结点 B: 在最后一个结点后插入一个新值 C: 访问第i(1<i<n)个结点和求第i(2<i<n)个结点的直接前驱 D: 在第i(1<i<n)个结点后插入一个结点