第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
AO(1)        BO(n)      CO(log2n)      DO(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小时内删除。