客观题第一章绪论一、判断题(1)数据的逻辑结构与数据元素本身的内容和形式无关。
(2)数据元素是数据的最小单位。
(3)算法是对解题方法和步骤的描述。
(4)程序和算法原则上没有区别,在讨论数据结构时可以通用。
(5)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(6)数据的存储结构是数据的逻辑结构的存储映像。
二、选择题(l)数据结构通常是研究数据的()及它们之间的相互联系。
A.存储结构和逻辑结构 B.存储和抽象 C.联系和抽象 D.联系与逻辑(2) 下列与数据元素有关的叙述中错误的是()。
A.数据元素是有独立含义的数据最小单位 B.数据元素是描述数据的基本单位C.数据元素可以称做结点 D.数据元素可以称做记录(3)数据结构中,在逻辑上可以把数据结构分成:( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构(4)数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为 ( )。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构(5)非线性结构的数据元素之间存在()。
A.一对一关系 B.一对多关系 C.多对多关系 D. B 或 C (6)在非线性结构中,每个结点()。
A. 无直接前驱B.只有一个直接前驱和个数不受限制的直接后继C.只有一个直接前驱和直接后继D.有个数不受限制的直接前驱和直接后继(7)除了考虑存储数据结构本身所占用的空间外,实现算法所用的辅助空间的多少称为算法的()。
A.时间效率 B.空间效率 C.硬件效率 D.软件效率(8)以下属于顺序存储结构优点的是()。
A.存储密度大 B.插入运算方便 C.删除运算方便D.可方便地用于各种逻辑结构的存储表示(9)数据结构研究的内容是()。
A.数据的逻辑结构 B.数据的存储结构C.建立在相应逻辑结构和存储结构上的算法 D.包括以上三个方面(10)链式存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数(11)一个正确的算法应该具有 5 个特性,除输入、输出特性外,另外 3 个特性是()。
A.确定性、可行性、有穷性 B.易读性、确定性、有效性C.有穷性、稳定性、确定性 D.可行性、易读性、有穷性(12)以下关于数据的逻辑结构的叙述中正确的是()。
A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构反映了数据在计算机中的存储方式C.数据的逻辑结构分为顺序结构和链式结构D.数据的逻辑结构分为静态结构和动态结构(13)设问题的规模为 n ,分析以下程序段:k = n ; /* n > l */m = 0 ;while ( k > = ( m + l ) * ( m - l ) )m ++;以上程序段的算法时间复杂度是( )A. O( n )B. O(1)C. O(n)D. O( n2 )(14)设问题的规模为n ,分析以下程序段:a = 10 ;b = l00 ;while (b> 0 ){ a + + ; b ――;}以上程序段的算法时间复杂度是()。
A.O( n )B. O(1)C. O(n)D. O( n2 )(15)设语句 s=s+i 的时间是单位时间,则语句:s=0;for (i=l;i<=n;i++)s=s+i;的时间复杂度为:( )。
A. O(l)B. O(n)C. O(n2)D. O(n3)(16)算法分析的主要任务是()。
A.探讨算法的正确性和可读性 B.探讨数据组织方式的合理性C.为给定问题寻找一种性能良好的解决方案 D.研究数据之间的逻辑关系(17)以下叙述中正确的是()。
A.顺序存储方式只能用于存储线性结构B.链式存储方式只能用于存储线性结构,探讨数据组织方式的合理性,研究数据之间的逻辑关系C.顺序存储和链式存储都可以用于线性和非线性结构D.以上三种都不对(18)以下叙述中正确的是()。
A.数据元素是数据处理的最小单位 B.数据项是数据处理的基本单位C.关键字是能够惟一标识一个数据元素的数据项 D.数据结构和数据类型的概念是等价的第二章线性表一、判断题(l)线性表的链式存储结构优于顺序存储。
(2)链表的每个结点都恰好包含一个指针域。
(3)线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。
(4)在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。
(5)在单链表中,任何两个元素的存储位置之间都有固定的联系,所以可以从头结点开始查找任何一个元素。
(6)在线性表的顺序结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。
(7)顺序存储方式的优点是存储密度大,插入、删除效率高。
(8)在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。
(9)顺序存储的线性表可以实现随机存取。
(10)线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。
二、选择题(1)线性表是()A.一个有限序列,可以为空 B.一个有限序列,不可以为空C.一个无限序列,可以为空 D.一个无限序列,不可以为空(2) 一维数组与线性表的特征是()。
A.前者长度固定,后者长度可变 B.两者长度均固定C.后者长度固定,前者长度可变 D.两者长度均可变(3) 用单链表方式存储的线性表,存储每个结点需要两个域,一个数据域,另一个是( ).A.当前结点所在地址域 B.指针域 C.空指针域 D.空闲域(4) 用链表表示线性表的优点是()。
A.便于随机存取 B.便于进行插入和删除操作C.占用的存储空间较顺序表少 D.元素的物理顺序与逻辑顺序相同(5) 在具有 n 个结点的单链表中,实现___的操作,其算法的时间复杂度都是O(n)。
A.遍历链表和求链表的第 i 个结点 B.在地址为 P 的结点之后插入一个结点C.删除开始结点 D.删除地址为 P 的结点的后继结点(6)下面关于线性表的叙述中,错误的是()。
A.线性表采用顺序存储必须占用一片连续的存储单元B.线性表采用顺序存储便于进行插入和删除操作C.线性表采用链式存储不必占用一片连续的存储单元D.线性表采用链式存储便于进行插入和删除操作(7)已知单链表的每个结点包括一个指针域next,它指向该结点的后继结点。
现要将指针 q指向的新结点插入到指针 p 指向的结点之后,下面的操作序列中正确的是()。
A . q = p 一>next ; p 一> next = q 一>next ;B . p 一>next = q 一>next ; q = p 一>next ;C . q 一>next = p 一>next; p 一>next = q ;D . p 一>next = q ; q 一>next = p 一>next ;(8)设 a l,a2, a3为三个结点; p , 10 , 20 代表地址,则如下的链表存储结构称为______。
A.链表 B.单链表 C.双向循环链表 D.双向链表(9)单链表的存储密度()。
A.大于 1 B.等于1 C.小于1 D.不能确定(10)己知一个顺序存储的线性表,设每个结点需占 m 个存储单元,若第一个结点的地址al ,则第i个结点的地址为()。
A. al+(i-1)*mB. al+i*mC. al-i*mD. al+(i+1)*m(11)在 n 个结点的顺序表中,算法的时间复杂度是 O(l)的操作是()。
A.访问第i个结点(1 ≤ i ≤ n)和求第 i 个结点的直接前驱(2 ≤ i ≤ n)B.在第 i 个结点之后插入一个新结点(1 ≤ i ≤ n-1)C.删除第 i 个结点( 1 ≤ i ≤ n )D.将 n 个结点从小到大排序(12)在线性表中()只有一个直接前驱和一个直接后继。
A.首元素 B.中间元素 C.尾元素 D.所有元素(13)对具有 n 个结点的线性表进行查找运算,所需的算法时间复杂度为()。
A. 0 ( n2 )B. 0 ( nlog2n )C. O ( log2n )D. O ( n )(14)线性表采用顺序存储的缺点是()。
A.存储密度降低 B.只能顺序访问C.元素的逻辑顺序与物理顺序不一致 D.插入、删除操作效率低(15)以下链表结构中,从当前结点出发能够访问到任一结点的是()。
A.单向链表和双向链表 B.双向链表和循环链表C.单向链表和循环链表 D.单向链表、双向链表和循环链表(16)线性表是具有 n 个()的有限序列。
A.数据项 B.数据元素 C.表元素 D.字符(17)若长度为 n 的线性表采用链式存储结构,访问其第 i 个元素的算法时间复杂度为()。
A. 0 ( l )B. 0 ( n )C. 0 ( n2 )D. 0 ( log2n )(18)指针 P 指向循环链表 L 的首元素的条件是()。
A. P==LB. L->next==PC.P->next= =NULLD. P->next==L(19)指针 P 所指的元素是双循环链表 L 的尾元素的条件是()。
A. P==LB. P->prior==LC. P==NULLD. P->next==L(20)不带头结点的单链表L为空的条件是( )A. L!=NULLB. L==NULLC. L->next==NULLD. L->next==L(21)带头结点的单链表L为空的条件是( )A. L!=NULLB. L==NULLC. L->next==NULLD. L->next==L(22)两个指针 P 和 Q ,分别指向单链表的两个元素, P 所指元素是 Q 所指元素前驱的条件是()。
A. P->next==Q->nextB. P->next==QC. Q->next==PD. P==Q(23)在长度为 n 的顺序表中,若要删除第 i (1≤i≤n )个元素,则需要向前移动元素的次数为()。
A. 1B. n 一 iC. n 一 i + 1D. n 一 i 一l(24)在长度为 n 的顺序表中第 i (1≤i≤n)个位置上插入一个元素时,为留出插入位置所需移动元素的次数为()。
A. n - iB. iC. n – i + 1D. n - i - l(25)假定己建立以下动态链表结构,且指针 Pl 和 P2 已指向如图所示的结点:则以下可以将 P2 所指结点从链表中删除并释放该结点的语句组是( )A. pl -> next = p2 -> next ; free ( pl ) ;B. pl = p2 ; free ( p2 ) ;C. pl -> next = p2 -> next ;free ( p2 ) ;D. pl = p2 -> next ; free ( p2) ;(26)若已建立如图所示的单向链表:则以下不能将 s 所指的结点插入到链表尾部,构成新的单向链表的语句组是()。