ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:36.73KB ,
资源ID:5959342      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5959342.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构复习题及答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构复习题及答案.docx

1、数据结构复习题及答案客观题第一章 绪论一、判断题(1)数据的逻辑结构与数据元素本身的内容和形式无关。 T(2)数据元素是数据的最小单位。 F(3)算法是对解题方法和步骤的描述。 T(4)程序和算法原则上没有区别,在讨论数据结构时可以通用。F (5)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 T(6)数据的存储结构是数据的逻辑结构的存储映像。T二、选择题 (l)数据结构通常是研究数据的( A )及它们之间的相互联系。 A存储结构和逻辑结构 B存储和抽象 C联系和抽象 D联系与逻辑 (2) 下列与数据元素有关的叙述中错误的是( A )。A数据元素是有独立含义的数据最小单位 B数据元

2、素是描述数据的基本单位 C数据元素可以称做结点 D数据元素可以称做记录 (3)数据结构中,在逻辑上可以把数据结构分成:( C )。 A动态结构和静态结构 B紧凑结构和非紧凑结构 C线性结构和非线性结构 D内部结构和外部结构(4)数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为 ( )。 A存储结构 B逻辑结构 C顺序存储结构 D链式存储结构(5)非线性结构的数据元素之间存在( D )。 A一对一关系 B一对多关系 C多对多关系 D. B 或 C(6)在非线性结构中,每个结点( D )。 A. 无直接前驱 B只有一个直接前驱和个数不受限制的直接后继 C只有一个直接前驱和直接

3、后继 D有个数不受限制的直接前驱和直接后继 (7)除了考虑存储数据结构本身所占用的空间外,实现算法所用的辅助空间的多少称为算法的( B )。 A时间效率 B空间效率 C硬件效率 D软件效率 (8)以下属于顺序存储结构优点的是( A )。 A存储密度大 B插入运算方便 C删除运算方便 D可方便地用于各种逻辑结构的存储表示 (9)数据结构研究的内容是( D )。 A数据的逻辑结构 B数据的存储结构 C建立在相应逻辑结构和存储结构上的算法 D包括以上三个方面 (10)链式存储的存储结构所占存储空间( A )。 A分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 B只有一部分,存放结点值

4、C只有一部分,存储表示结点间关系的指针 D分两部分,一部分存放结点值,另一部分存放结点所占单元数(11)一个正确的算法应该具有 5 个特性,除输入、输出特性外,另外 3 个特性是( A )。 A确定性、可行性、有穷性 B易读性、确定性、有效性 C有穷性、稳定性、确定性 D可行性、易读性、有穷性 (12)以下关于数据的逻辑结构的叙述中正确的是(A )。 A数据的逻辑结构是数据间关系的描述 B数据的逻辑结构反映了数据在计算机中的存储方式 C数据的逻辑结构分为顺序结构和链式结构 D数据的逻辑结构分为静态结构和动态结构 (13)设问题的规模为 n ,分析以下程序段: k = n ; /* n l */

5、m = 0 ;while ( k = ( m + l ) * ( m - l ) ) m +;以上程序段的算法时间复杂度是( ) A. O( n ) B. O(1) C. O( ) D. O( n2 )(14)设问题的规模为n ,分析以下程序段:a = 10 ; b = l00 ; while (b 0 ) a + + ; b ; 以上程序段的算法时间复杂度是( )。A.O( n ) B. O(1) C. O( ) D. O( n2 )(15)设语句 s=s+i 的时间是单位时间,则语句: s=0; for (i=l;inextP C.P-next= =NULL D. P-nextL (19)

6、指针 P 所指的元素是双循环链表 L 的尾元素的条件是( )。 A. PL B. P-priorL C. PNULL D. P-nextL (20)不带头结点的单链表L为空的条件是( )A. L!NULL B. LNULL C. L-nextNULL D. L-nextL(21)带头结点的单链表L为空的条件是( )A. L!NULL B. LNULL C. L-nextNULL D. L-nextL(22)两个指针 P 和 Q ,分别指向单链表的两个元素, P 所指元素是 Q 所指元素前驱的条件是( )。 A. P-nextQ-next B. P-nextQ C. Q-nextP D. PQ

7、(23)在长度为 n 的顺序表中,若要删除第 i (1in )个元素,则需要向前移动元素的次数为( )。 A. 1 B. n 一 i C. n 一 i + 1 D. n 一 i 一 l (24)在长度为 n 的顺序表中第 i (1in)个位置上插入一个元素时,为留出插入位置所需移动元素的次数为( )。A. n - i B. i C. n i + 1 D. n - i - l (25)假定己建立以下动态链表结构,且指针 Pl 和 P2 已指向如图所示的结点:则以下可以将 P2 所指结点从链表中删除并释放该结点的语句组是( ) A. pl - next = p2 - next ; free ( p

8、l ) ; B. pl = p2 ; free ( p2 ) ;C. pl - next = p2 - next ;free ( p2 ) ; D. pl = p2 - next ; free ( p2) ; (26)若已建立如图所示的单向链表: 则以下不能将 s 所指的结点插入到链表尾部,构成新的单向链表的语句组是( )。 A. s一next = a - next 一next ; a - next - next = s ;B. a = a - next; a 一next =s ; s 一next = NULL ;C. s 一next = NULL ; a = a一 next; a一 next

9、 = s ;D. a = a 一next ; s 一next = a 一next ; a - next = s 一 next ;(27)有如下函数: Void fun( struct node * hl , struct node * h2 ) struct node * t ; t = hl ; while ( t - n ext ! 0 ) t = t 一 next ; t - next = h2 ; 其中形参 hl 和 h2 分别指向 2 个不同链表的第一个结点,此函数的功能是( )。 A将链表 h2 接到链表 h1 后 B将链表 h1 接到链表 h2 后 C找到链表 hl 的最后一个结

10、点由指针返回 D将链表 hl 拆分成两个链表 第三章 栈一、判断题 (l)栈是运算受限制的线性表。 (2)在栈空的情况下,不能作出栈操作,否则产生溢出。 (3)栈一定是顺序存储的线性结构。 (4)空栈就是所有元素都为0的栈。 (5) 不管堆栈采用何种存储结构,只要不为空,就可以任意的删除数据元素。(6) 在 c语言中设顺序栈的长度为 MAXLEN ,则 top = MAXLEN 时表示栈满。 (7)一个栈的输入序列为:A, B, C, D,可以得到输出序列: C, A, B, D。二、选择题 (1)设用一维数组元素 a1-an存储一个栈,令 an为栈底,用整型变量 t 指示当前栈顶位置, at

11、为栈顶元素。当从栈中弹出一个元素时,变量 t 的变化为( )。 At=t + 1 Bt=t-1 C. t 不变 D t=n(2)有 6 个元素按 6 、 5 、 4 、 3 、 2 、 1 的顺序进栈,进栈过程中可以出栈,则以下可能的出栈序列是( )。 A . 1 、 4 、 3 、 5 、 2 、 6 B . 6 、 5 、 4 、 3 、 2 、 l C . 3 、 l 、 4 、 2 、 6 、 5 D . 3 、 6 、 5 、 4 、 2 、 l(3)以下叙述中错误的是( )。 A栈是限制存取操作只能在一端进行的线性表 B消除递归不是必须使用栈 C对同一组输入序列进行合法的入、出栈操

12、作,得到的输出序列一定相同 D实现递归必定使用工作栈 (4)以下不属于栈的基本运算的是( )。 A删除栈顶元素 B删除栈底元素 C判断栈是否为空 D将栈置为空栈 (5)若以链表作为栈的存储结构,则退栈操作时( )。 A必须判别栈是否满 B必须判别栈元素的类型 C必须判别栈是否空 D不用作任何判别 (6)设入栈序列是 1 、 2 、 、 n ,入栈过程中不允许中途出栈,则第 i 个输出的元素是 ( )。 A不确定 B.i C. n - i D. n - i + 1 (7)铁路调度用“栈”,假设进栈车厢编队序列为“ ABC (进栈过程中可以出栈),出栈则有许多编队序列,以下不可能出现的序列是( )

13、。 A. ABC B. CBA C. BAC D. CAB (8)当栈中当前元素为 n 个,此时进行进栈运算时发生上溢,则该栈的最大容量为( )。 A. n/2 B. n 一 1 C. n D. n + 1 (9)在栈中存取数据的原则是( )。 A先进先出 B后进先出 C后进后出 D随意进出 (10)插入和删除只能在一端进行的线性表,称为( )。 A队列 B循环队列 C栈 D. 循环栈 (11)在栈中,出栈操作的时间复杂度为( )。 A. O(l) B. O(log2n) C. O(n) D. O(n2) (12)顺序栈为空的判断条件是( )。A. top=0 B. top=1 C. top=

14、-1 D. top=m(13)元素 A, B, C, D依次进栈以后,栈顶元素是( )。 A. A B. B C. C D. D (14)顺序栈存储空间的实现使用( )存储栈元素。 A链表 B数组 C循环链表 D变量 (15)一个顺序栈一但说明,其占用空间的大小( )。 A已固定 B可以变动 C不能固定 D动态变化 (16)链栈 LS 的示意图如下,栈顶元素是( )。 第四章 队列一、判断题(l)队列是限制在两端进行操作的线性表。(2)判断顺序队列为空的标准是头指针和尾指针均指向同一个结点。 (3)在链队列做出队操作时,会改变 front 指针的值。 (4)在循环队列中,若尾指针rear大于头

15、指针front, 其元素个数为rear-front 。(5)队列是一种“后进先出”的线性表。 (6)在单向循环队列中,若头指针为h,那么p所指的结点为尾结点的条件是p=h 。二、选择题 (1)若用单链表来表示链队列,则应该选用( )。 A带尾指针的非循环链表 B带头指针的非循环链表 C带尾指针的循环链表 D带头指针的循环链表 (2)设有一个空队列,若进入队列的序列为 1 , 2 , 3 , 4 ,则合法的出队序列是( )。 A. 3 , 2 , 4 , 1 B. 4 , 2 , 3 , l C. 4 , 3 , 2 , 1 D. l , 2 , 3 , 4 (3)若利用数组 a0an-1作为一

16、个循环队列, f 为当前队头元素的前一个位置,r为队尾元素的位置,假定队中元素的个数总是小于 n ,则当前队中元素的个数为( )。 A. r 一 f B. n + f 一 r C. n + r 一1 D. ( n + r 一 f) % n (4)栈和队列都是( )。 A顺序存储的线性结构 B链式存储的线性结构 C限制存取点的线性结构 D限制存取点的非线性结构 (5)以下不属于队列基本运算的是( )。 A从队尾插入一个新元素 B从队列中删除第 i 个元素 C判断一个队列是否为空 D读取队头元素的值(6)在队列的顺序存储结构中,会产生队列中有剩余空间,但确不能执行入队操作的“假溢出”现象,在以下几

17、种方法中,不能解决假溢出问题的是( )。 A采用首尾相接的循环队列 B当有元素入队时,将己有元素向队头移动 C当有元素出队时,将己有元素向队头移动 D申请新的存储单元存放入队元素 (7)设队列空间 n=40 :队尾指针 rear=6 ;队头指针 front = 25 ,则此循环队列中当前元素的数目是( )。 A. 19 B. 21 C. 11 D. 29 (8)设循环队列的队首指针用 front 表示,队尾指针用 rear 表示,则判断队空的条件是( )A. front = = rear Bfront+1 = = rear C. rear+1=front D.rear= =0(9)设循环队列存

18、储于数组元素 a1an中,其队头和队尾指针分别用front和 rear 表示,则判断队满的条件是( )。 A. ( rear 一 1 ) % n = front B. ( front + 1 ) % n = = rearC. ( rear + 1 ) % n = =front D. ( front 一 l ) % n = = rear (10)循环队列的特点之一是不会产生( )。 A上溢出 B下溢出 C队满 D假溢出 (11)设用数组 datam + l作为循环队列 q 的存储空间, front 为队头指针, rear 为队尾指针,则执行出队操作应执行的语句是( )。 A. front = f

19、ront + 1 ; B. front = ( front + l ) % ( m + l ) ; C. rear=( rear + l ) % m ; D. front = ( front + l ) % m ; (12)在队列中存取数据应遵循的原则是()。A先进先出 B后进先出 C先进后出 D. 随意进出(13)设长度为 n 的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为 ( )。A. O( l ) B. O(log2n ) C. O(n) D. O(n2)(14)设长度为 n 的链队列用单循环链表示,若只设尾指针,则出队操作的时间复杂度为( )。A. O( l ) B.

20、 O(log2n ) C. O(n) D. O(n2) (15)队列是限定在( )进行操作的线性表。 A中间 B队头 C队尾 D端点 (16)一个循环队列一旦说明,其占用空间的大小( )。 A已固定 B可以变动 C不能固定 D动态变化 (17)在一个顺序存储的循环队列中,队头指针指向队头元素的()位置。A前一个 B后一个 C后面 D当前 (18)当利用大小为 n 的数组顺序存储一个队列时,该队列的最后一个元素的下标为( )。A. n-2 B. n-1 C. n D.n+1(19)从一个顺序循环队列中删除一个元素时,首先需要做的操作是( ) 。A队头指针减 1 B. 取出队头指针所指的元素C队头

21、指针加 1 D. 取出队尾指针所指的元素(20)若 4 个元素按 A, B, C, D,顺序进队 Q ,队头元素是( )。A. A B. B C. C D. D第五章 串一、判断题(1)串中任意个字符组成的子序列称为该串的子串。(2)设 S 串的长度为 n ,子串的长度为 m ,那么子串定位算法的平均时间复杂度在最好情况下是0 ( n + m )。(3)在顺序存储结构中,串的插入算法是非常方便的。(4)设有两个串s1和s2,其中s2是s1的子串,把s2在 s1中首次出现的位置找出来的算法叫作求子串的算法。(5) 空串是任意串的子串。(6)串的长度是指串中不同字符的个数。 (7)串是 n 个字母

22、的有限序列。 (8)空串不等于空白串。 (9)如果两个串含有相同的字符,则说明它们相等。 (10)如果一个串中所有的字符均在另一个串中出现,则说明前者是后者的子串。 二、选择题 (1)下面关于串的叙述中,错误的是( )。 A串是由字符组成的有限序列 B模式匹配是串的一种主要运算C空串是由空格组成的串 D串可以顺序存储,也可以链式存储 (2)假设有两个字符串S1和S2,其中 Sl = ABCDXYZ , S2= REST,那么如果进行了下面的运算concatstr ( substr (S1, 3 , 2 ) , Substr (S1, Strlen ( S2 ) , 3 ) ) ,其结果应是( )。 A. CDXYZ B. CDDXY C. CDREST D. CDRES (3)设有一个字符串 S = ABC 123 XYZ ,问该串的长度为( )。 A. 9 B. 10 C. 11 D. 12

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1