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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构期末考试复习练习题.docx

1、数据结构期末考试复习练习题习题练习第一章1. 算法的计算量的大小称为计算的( )。A效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于( )A问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2) 这三个特性。(1) A计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 4一个算法应该是( )。 A程序 B问题求解步骤的描述 C要满足五个基本特性 DA和C. 5、下面属于逻辑结构的是( )A

2、顺序表 B哈希表 C 有序表 D 单链表6、某算法的时间复杂度为O(n2),表明该算法的()A 问题规模是n2 B执行时间等于n2C 执行时间与n2成正比 D问题规模与n2成正比7、下面关于算法说法错误的是( )A算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的8从逻辑上可以把数据结构分为( )两大类。A动态结构、静态结构 B顺序结构、链式结构 C线性结构、非线性结构 D初等结构、构造型结构9以下与数据的存储结构无关的术语是( )。A循环队列 B. 链表 C. 哈希表 D. 栈10以下数据结构中,

3、哪一个是线性结构( )? A广义表 B. 二叉树 C. 稀疏矩阵 D. 串11以下那一个术语与数据的存储结构无关?( )A栈 B. 哈希表 C. 线索树 D. 双向链表12在下面的程序段中,对x的赋值语句的频度为( )FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1;A O(2n) BO(n) CO(n2) DO(log2n) 14以下数据结构中,( )是非线性数据结构A树 B字符串 C队 D栈15. 下列数据中,( )是非线性数据结构。A栈 B. 队列 C. 完全二叉树 D. 堆16连续存储设计时,存储单元的地址( )。A一定连续 B一定不连续 C不一定连续

4、D部分连续,部分不连续17以下属于逻辑结构的是( )。A顺序表 B. 哈希表 C.有序表 D. 单链表 二、问答:1. 数据结构是一门研究什么内容的学科? 2. 数据元素之间的关系在计算机中有几种表示方法?各有什么特点? 3. 数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么? 4. 回答问题(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系?(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。这样的说法对吗?举例说明之。(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,

5、从而得到不同的数据结构。这样说法对吗?举例说明之。5评价一个好的算法,您是从哪几方面来考虑的?第二章1下述哪一条是顺序存储结构的优点?( )A存储密度大 B插入运算方便 C删除运算方便 D可方便地用于各种逻辑结构的存储表示2下面关于线性表的叙述中,错误的是哪一个?( )A线性表采用顺序存储,必须占用一片连续的存储单元。B线性表采用顺序存储,便于进行插入和删除操作。C线性表采用链接存储,不必占用一片连续的存储单元。D线性表采用链接存储,便于插入和删除操作。3线性表是具有n个( )的有限序列(n0)。A表元素 B字符 C数据元素 D数据项 E信息项4若某线性表最常用的操作是存取任一指定序号的元素和

6、在最后进行插入和删除运算,则利用( )存储方式最节省时间。A顺序表 B双链表 C带头结点的双循环链表 D单循环链表5某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。A单链表 B仅有头指针的单循环链表 C双链表 D仅有尾指针的单循环链表6若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用( )存储方式最节省运算时间。A单链表 B双链表 C单循环链表 D带头结点的双循环链表7. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1=iLlink=q;q-Rlink=p;p

7、-Llink-Rlink=q;q-Llink=q;B. p-Llink=q;p-Llink-Rlink=q;q-Rlink=p;q-Llink=p-Llink;C. q-Rlink=p;q-Llink=p-Llink;p-Llink-Rlink=q;p-Llink=q;D. q-Llink=p-Llink;q-Rlink=q;p-Llink=q;p-Llink=q;20在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )。Ap-next=s;s-next=p-next; B s-next=p-next;p-next=s;Cp-next=s;p-next=s-next; D p-n

8、ext=s-next;p-next=s;25对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )Ahead=NULL Bheadnext=NULL Cheadnext=head Dhead!=NULL二、算法设计:1. 插入算法,在带有头结点的单链表La中第i个元素之前插入e。2. 删除算法,删除带有头结点的单链表La中第i个元素3. 将两个有序的带有头结点单链表和进行合并成一个有序的单链表算法4. 将链表进行逆置等操作。5. 已知非空线性链表由list指出,链结点的构造为(data,link).请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申

9、请新的链结点。6. (6) 有一个单链表L(至少有1个结点),其头结点指针为head,编写一个过程将L逆置,即最后一个结点变成第一个结点,原来倒数第二个结点变成第二个结点,如此等等。7. 在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。例如:(7,10,10,21,30,42,42,42,51,70)将变作(7,10,21,30,42,51,70),分析算法的时间复杂度。第三章1. 对于栈操作数据的原则是( )。A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序2. 在作进栈运算时,应先判别栈是否( ),在作退

10、栈运算时应先判别栈是否( )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( )。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( )分别设在这片内存空间的两端,这样,当( )时,才产生上溢。 , : A. 空 B. 满 C. 上溢 D. 下溢 : A. n-1 B. n C. n+1 D. n/2 : A. 长度 B. 深度 C. 栈顶 D. 栈底 : A. 两个栈的栈顶同时到达栈空间的中心点.B. 其中一个栈的栈顶到达栈空间的中心点. C. 两个栈的栈顶在栈空间的某一位置相遇. D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈

11、底.3. 一个栈的输入序列为123n,若输出序列的第一个元素是n,输出第i(1=i=n)个元素是( )。A. 不确定 B. n-i+1 C. i D. n-i4. 若一个栈的输入序列为1,2,3,n,输出序列的第一个元素是i,则第j个输出元素是( )。 A. i-j-1 B. i-j C. j-i+1 D. 不确定的5. 若已知一个栈的入栈序列是1,2,3,n,其输出序列为p1,p2,p3,pN,若pN是n,则pi是( )。 A. i B. n-i C. n-i+1 D. 不确定6. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( )A. 5 4 3 6 1

12、2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6 8. 一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )。 A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 213. 输入序列为ABC,可以变为CBA时,经过的栈操作为( )【中山大学 1999 一、8(1分)】A. push,pop,push,pop,push,pop B. push,push,push,pop,pop,pop C. push,push,pop,pop,push,pop D. push,pop,push

13、,push,pop,pop14. 若一个栈以向量V1.n存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是( )。Atop:=top+1; V top:=x B. V top:=x; top:=top+1 C. top:=top-1; V top:=x D. V top:=x; top:=top-115. 若栈采用顺序存储方式存储,现两栈共享空间V1.m,topi代表第i个栈( i =1,2)栈顶,栈1的底在v1,栈2的底在Vm,则栈满的条件是( )。A. |top2-top1|=0 B. top1+1=top2 C. top1+top2=m D. top1=top216. 栈在( )

14、中应用。【中山大学 1998 二、3(2分)】A. 递归调用 B. 子程序调用 C. 表达式求值 D. A,17. 一个递归算法必须包括( )。A. 递归部分 B. 终止条件和递归部分 C. 迭代部分 D.终止条件和迭代部分19. 表达式a*(b+c)-d的后缀表达式是( )。Aabcd*+- B. abc+*d- C. abc*+d- D. -+*abcd21. 设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。A线性表的顺序存储结构 B. 队列C. 线性表的链式存储结构 D. 栈22. 用链接方式存储的队列,在进行删除运算时( )。【A. 仅修改头指针 B. 仅修改

15、尾指针 C. 头、尾指针都要修改 D. 头、尾指针可能都要修改23. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。A仅修改队头指针 B. 仅修改队尾指针 C. 队头、队尾指针都要修改 D. 队头,队尾指针都可能要修改24. 递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。A队列 B多维数组 C栈 D. 线性表25. 假设以数组Am存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为( )。A(rear-front+m)%m Brear-front+1 C(front-rear+m

16、)%m D(rear-front)%m26. 循环队列A0.m-1存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。A. (rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front27. 循环队列存储在数组A0.m中,则入队时的操作为( )。A. rear=rear+1 B. rear=(rear+1) mod (m-1) C. rear=(rear+1) mod m D. rear=(rear+1)mod(m+1) 28. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值

17、分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( ) A. 1和 5 B. 2和4 C. 4和2 D. 5和1 31. 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是 ( )。 A. (rear+1) MOD n=front B. rear=front Crear+1=front D. (rear-l) MOD n=front32. 栈和队列的共同点是( )。A. 都是先进先出 B. 都是先进后出 C. 只允许在端点处插入和删除元素 D. 没有共同点34. 栈和队都是( )A顺序存储的线性结构 B. 链式存储的非线性结

18、构C. 限制存取点的线性结构 D. 限制存取点的非线性结构35. 设栈S和队列Q的初始状态为空,元素a1,a2,a3,a4,a5和a6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是a2,a4,a3,a6,a5,a1则栈S的容量至少应该是( )。A 6 B. 4 C. 3 D. 236. 用单链表表示的链式队列的队头在链表的( )位置。A链头 B链尾 C链中第四章 串1下面关于串的的叙述中,哪一个是不正确的?( )A串是字符的有限序列 B空串是由空格构成的串C模式匹配是串的一种重要运算 D串既可以采用顺序存储,也可以采用链式存储2 串的长度是指( )A串中所含不同字母的个数 B串

19、中所含字符的个数C串中所含不同字符的个数 D串中所含非空格字符的个数3空格串是指_(1)_,其长度等于_(2)_。 4组成串的数据元素只能是_。 5一个字符串中_称为该串的子串 。 第 5 章 数组和广义表1、设有数组Ai,j,数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A5,8的存储首地址为( )。A. BA+141 B. BA+180 C. BA+222 D. BA+2252. 假设以行序为主序存储二维数组A=array1.100,1.100,设每个数据元素占2个存储单元,基地址为10,则LOC5,5=( )

20、。 A. 808 B. 818 C. 1010 D. 10203. 数组A0.5,0.6的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A5,5的地址是( )。 A. 1175 B. 1180 C. 1205 D. 12104、二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,8,列下标j=1,2,10。若A按行先存储,元素A8,5的起始地址与当A按列先存储时的元素( )的起始地址相同。设每个字符占一个字节。A. A8,5 B. A3,10 C. A5,8 D. A0,95、. 若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所

21、有元素)依次存放于一维数组B1.(n(n+1)/2中,则在B中确定aij(ij)的位置k的关系为( )。A. i*(i-1)/2+j B. j*(j-1)/2+i C. i*(i+1)/2+j D. j*(j+1)/2+i6. 数组A0.4,-1.-3,5.7中含有元素的个数( )。【中山大学 1998 二、5(2分)】A. 55 B. 45 C. 36 D. 161. 数组的存储结构采用_存储方式。2. 设二维数组A-20.30,-30.20, 每个元素占有4 个存储单元, 存储起始地址为200.如按行优先顺序存储,则元素 A25,18的存储地址为_(1)_;如按列优先顺序存储,则元素A-1

22、8,-25的存储地址为_(2)_。3. 设数组a1.50,1.80的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a45,68的存储地址为_(1)_;若以列序为主序顺序存储,则元素a45,68的存储地址为_(2)_。4. 将整型数组A1.8,1.8按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A7,3的地址是:_。5. 二维数组a456(下标从0开始计,a有4*5*6个元素),每个元素的长度是2,则a234的地址是_。(设a000的地址是1000,数据以行为主方式存储) 6. 设有二维数组A0.9,0.19,其每个元素占两个字节,第一个元素的存储地址为

23、100,若按列优先顺序存储,则元素A6,6存储地址为_。 第六章 树和二叉树1已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( )A-A+B*C/DE B. -A+B*CD/E C-+*ABC/DE D. -+A*BC/DE2. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为( )A5 B6 C7 D83. 在下述结论中,正确的是( )只有一个结点的二叉树的度为0; 二叉树的度为2; 二叉树的左右子树可任意交换;深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A B C D4. 设森林F对应的二

24、叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( )Am-n Bm-n-1 Cn+1 D条件不足,无法确定 8若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )A9 B11 C15 D不确定9在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( )个A4 B5 C6 D7 10设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。AM1 BM1+M2 CM3 DM2+M311具有10个叶结点的二叉树中

25、有( )个度为2的结点, A8 B9 C10 Dll12一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )A 250 B 500 C254 D505 E以上答案都不对 13. 设给定权值总数有n 个,其哈夫曼树的结点总数为( ) A不确定 B2n C2n+1 D2n-116. 有关二叉树下列说法正确的是( )A二叉树的度为2 B一棵二叉树的度可以小于2 C二叉树中至少有一个结点的度为2 D二叉树中任何一个结点的度都为217二叉树的第I层上最多含有结点数为( )A2I B 2I-1-1 C 2I-1 D2I -118. 一个具有1025个结点的二叉树的高h为( )A11 B10 C11

26、至1025之间 D10至1024之间19一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A2h B2h-1 C2h+1 Dh+1 20、对于有n 个结点的二叉树, 其高度为( )Anlog2n Blog2n C log2n |+1 D不确定21对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。A先序 B. 中序 C. 后序 D. 从根开始按层次遍历22树的后根遍历序列等同于该树对应的二叉树的( ). A. 先序序列 B. 中序序列 C. 后序序列23已

27、知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。ACBEFDA B FEDCBA C CBEDFA D不定 24. 线索二叉树是一种( )结构。A 逻辑 B 逻辑和存储 C 物理 D线性25n个结点的线索二叉树上含有的线索数为( )A2n Bnl Cnl Dn26一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )【南开大学 2000 一、2】A所有的结点均无左孩子B所有的结点均无右孩子C只有一个叶子结点D是任意一棵二叉树27下述编码中哪一个不是前缀码( )。A(00,01,10,11) B(0,1,00,11) C(0

28、,10,110,111) D(1,01,000,001)28下面几个符号串编码集合中,不是前缀编码的是( )。A0,10,110,1111 B11,10,001,101,0001 C00,010,0110,1000二、应用题1、将下列由三棵树组成的森林转换为二叉树。(只要求给出转换结果)2、已知二叉树的先序序列: CBHEGAF, 中序序列: HBGEACF, 试构造该二叉树3、已知一个森林的先序序列和后序序列如下,请构造出该森林。先序序列:ABCDEFGHIJKLMNO后序序列:CDEBFHIJGAMLONK4、定一组数列(15,8,10,21,6,19,3)分别代表字符A,B,C,D,E,F,G出现的频度,试叙述建立哈夫曼树的算法思想,画出哈夫曼树,给出各字符的编码值,并说明这种编码的优点。三、算法设计题:1. 二叉树的创建2. 求叶子个数3. 求总的结点个数4. 求树的深度5. 对树进行层次遍历6. 进行查询特

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

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