第3章 数据结构
一、选择题
1. 图形结构是数据元素之间存在一种____B_____。
A 一对多关系 B 多对多关系 C 多对一关系 D 一对一关系
2.算法分析的目的是___C_____。
A 出数据结构的合理性 B 研究算法中的输入和输出的关系
C 分析算法的效率以求改进 D 分析算法的易懂性和文档性
3.算法的时间复杂度与___A____ 有关。
A 问题规模
B 计算机硬件性能
C 程序设计语言的类型或版本
D 算法设计者的水平
4.有下面的算法段:
for (i=0; i<n; i++)
k++;
其时间复杂度为 B 。
A.O(1) B.O(n) C.O(log2n) D.O(n2)
5.计算机算法必须具备输入、输出和___C____。
A、计算方法 B、排序方法
C、解决问题的有限运算步骤 D、程序设计法
是数据的基本单位。
A、数据结构 B、数据元素 C、数据项 D、数据类型
7.下面,对非空线性表特点的论述, ___C____ 是正确的。
A.所有结点有且只有一个直接前驱
B.所有结点有且只有一个直接后继
C.每个结点至多只有一个直接前驱,至多只有一个直接后继
D.结点间是按照1对多的邻接关系来维系其逻辑关系的
8.在顺序表中,只要知道____D____,就可以在相同的时间内求出任一结点的存储地址。
A、开始结点 B、终端结点 C、向量大小 D、基地址和结点大小
9.在非空线性表中,有且只有一个直接前驱和一个直接后继的结点是__C____。
A、开始结点 B、终端结点 C、内部结点 D、所有结点
10.顺序表中逻辑上相邻的结点的物理位置为_____A___。
A、一定相邻 B、不必相邻 C、按某种规律排列 D、不要求
11.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是____B___。
A 110 B 108 C 100 D 120
12.链表不具有的特点是____A___。
A、可以随机访问任何一个元素 B、插入和删除元素不需要移动元素
C、不必事先估计存储空间 D、所需的存储空间和链表长度无关
13.数据结构反映了数据元素之间的结构关系。链表是一种___D____。
A 顺序存储线性表 B 非顺序存储非线性表
C 顺序存储非线性表 D 非顺序存储线性表
14.链接存储的存储结构所占存储空间____A___
A 分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B 只有一部分,存放结点值
C 只有一部分,存储表示结点间关系的指针
D 分两部分,一部分存放结点值,另一部分存放结点所占单元数
15.线性表L在____B____ 情况下适用于使用链式结构实现。
A 需经常修改L中的结点值
B 需不断对L进行删除插入
C L中含有大量的结点
D L中结点结构复杂
16.线性链表不具有的特点是____A__ 。
A 随机访问
B 不必事先估计所需存储空间大小
C 插入与删除时不必移动元素
D 所需空间与线性表长度成正比
17.在长度为n的顺序表中,往其第i个元素(1≤i≤n)之前插入一个新的元素时,需要往后移动 ____B___ 个元素。
A.n-i B.n-i+1 C.n-i-1 D.i
18.在长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要往前移动___A____个元素。
A.n-i B.n-i+1 C.n-i-1 D.i
19.往一个顺序表的任一结点前插入一个新数据结点时,平均而言,需要移动____B___个结点。
A.n B.n/2 C.n+1 D.(n+1)/2
20.带表头结点的单链表Lk_h为空的判定条件是____B___ 。
A.Lk_h == NULL B.Lk_h->Next == NULL
C.Lk_h->Next == Lk_h D.Lk_h != NULL
21.在一个单链表中,已知qtr所指结点是ptr所指结点的直接前驱。现要在qtr所指结点和ptr所指结点之间插入一个rtr所指的结点,要执行的操作应该是__C____。
A.rtr->Next = ptr->Next; ptr->Next = rtr;
B.ptr->Next = rtr->Next;
C.qtr->Next = rtr; rtr->Next = ptr;
D.ptr->Next = rtr; rtr->Next = qtr->Next;
22.在单链表中,如果指针ptr所指结点不是链表的尾结点,那么在ptr之后插入由指针qtr所指结点的操作应该是___B_____ 。
A.qtr->Next = ptr ; B.qtr->Next = ptr->Next ;
ptr->Next = qtr ; ptr->Next = qtr ;
C.qtr->Next = ptr->Next ; D.ptr->Next = qtr ;
ptr = qtr ; qtr->Next = ptr ;
23.栈与一般线性表的区别在于___B_____。
A、数据元素的类型不同 B、运算是否受限制
C、数据元素的个数 D、逻辑结构不同
24.栈的插入和删除操作在___A___进行。
A、栈顶 B、栈底 C、任意位置 D、指定位置
25.一个顺序栈一旦被声明,其占用空间大小___A___。
A、已固定 B、可以变化 C、不能固定 D、动态变化
26.设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为____B_____
A 2 B 3 C 4 D 5
27.若让元素1,2,3依次进栈,则出栈次序不可能出现___C____种情况。
A 3,2,1 B 2,1,3 C 3,1,2 D 1,3,2
28.一个栈的入栈序列是abcde,则栈不可能的输出序列是___C___。
A、edcba B、decba C、dceab D、abcde
29.队列的插入操作是在____B_____进行的。
A、队首 B、队尾 C、队前 D、队后
30.队列的删除操作是在___A___进行的。
A、队首 B、队尾 C、队前 D、队后
31.为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是 ___A___。
A.队列B.栈C.线性表D.有序表
32.下列关于线性表、栈和队列的叙述,错误的是___A数据结构与算法分析答案___。
A.线性表是给定的n(n必须大于零)个元素组成的序列。
B.线性表允许在表的任何位置进行插入和删除操作。
C.栈只允许在一端进行插入和删除操作。
D.队列允许在一端进行插入,在令一端进行删除。
33.一个队列的入队序列是1,2,3,4,则队列的确定输出序列___B_____
A. 4,3,2,1B. 1,2,3,4C. 1,4,3,2D. 3,2,4,1
34.若用一个大小为6的数组来实现循环队列,且当前rear 和front的值分别为0和3.当从队列中删除一个元素,再加入两个元素后, rear 和front的值分别为___B_____
A. 1和5 B. 2和4 C. 4和2 D. 5和1
35.最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是___B_____。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论