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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构本期末综合练习.docx

1、数据结构本期末综合练习数据结构(本)期末综合练习2013年6月期末综合练习一1. 在数据结构和算法中,与所使用的计算机有关的是 ( )。 A数据元数间的抽象关系 B数据的存储结构 C算法的时间复杂度 D数据的逻辑结构 2. 一种逻辑结构在存储时( )。 A只要存储数据元素间的关系 B只能采用一种存储结构 C可采用不同的存储结构 D只要存储数据元素的值 3 .对顺序表,以下叙述中正确的是 ( )。 A用一组地址连续的存储单元依次存放线性表的数据元素 B各个数据元素的首地址是连续的 C数据元素不能随机访问 D插入操作不需要移动元素 4 .对链表, 以下叙述中正确的是( )。A不能随机访问任一结点

2、B结点占用的存储空间是连续的 C插入删除元素的操作一定要要移动结点 D可以通过下标对链表进行直接访问 5设有一个长度为25的顺序表,要删除第10个元素(下标从1开始),需移动元素的个数为 ( )。 A9 B10 C15 D16 6线性表在存储后,如果相关操作是:要求已知第i个结点的位置访问该结点的前驱结点,则采用( )存储方式是不可行的。A单链表 B双链表 C单循环链表 D顺序表 7. 设单向链表中,指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为( )。A.p-next=p-next-next; B.p=p-next;C.p=p-next-next; D.p-next=p ;

3、8栈和队列的共同特点是( )。 A都是先进后出 B元素都可以随机进出C只容许在端点处插入和删除元素 D都是先进先出 9元素1,3,5,7按顺序依次进栈,按该栈的可能输出序列依次入队列,该队列 的可能输出序列是( )。(进栈出栈可以交替进行)。 A7,5,3,1 B7,3,1,5 C7,5,1,3 D5,1,3,7 10元素2,4,6,8按顺序依次进栈,按该栈的的可能输出序列依次入队列,该队列的可能输出序列是( )(进栈出栈可以交替进行)。 A8,6,2,4 B8,4,2,6 C6,2,4,8 D8,6,4,2 11 对一个栈顶指针为top的链栈进行进栈操作,设P为待进栈的结点,则执行( )。

4、Ap=top-next; top=top next; Bp-next=top; Cp-next=top;top=p; Dtop=p; 12在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则从该对列中删除一 个结点并把结点的值保存在变量x中的运算为( )。 Ax=r data;r=r next; Br=r next; x=r data Cx=f data;f=f next; Df=f next; x=f data 13设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第33号元素对应于矩阵中的元素是( )。(矩阵中

5、的第1个元素是a1,1 ) Aa7,6 Ba10,8 Ca9,2 Da8,5 14设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第38号元素对应于矩阵中的元素是( )。(矩阵中的第1个元素是a1,1 ) Aa10,8 Ba7,6 Ca9,2 Da8,5 15设有一个17阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a10,6 在一维数组B中的下标是( )。(矩阵中的第1个元素是a1,1 )A45, B18 C51 D53 16在C语言中,分别存储 “S

6、”和s,各需要占用( )字节。 A一个和两个 B两个 C一个 D两个和一个 17串函数StrCmp(“ABCd”,“ABCD”)的值为( )。 A0 B-1 C1 D3 18一棵有n个结点,采用链式存储的二叉树中,共有( )个指针域被有效使用(即指针域为非空)。 An+1 Bn Cn-1 Dn-2 19一棵采用链式存储的二叉树中有n个指针域为空,该二叉树共有( )个结点。 An+1 Bn Cn-1 Dn-2 20在一棵二叉树中,若编号为i的结点存在双亲结点,则双亲结点的顺序编号为( )。 Ai/2.0 Bi/2向下取整 C2i+1 Di+2 21设一棵哈夫曼树共有n个非叶结点,则该树有( )个

7、结点。 A2n B2n+2 C2n-1 D2n+1 22设一棵哈夫曼树共有2n+1个结点,则该树有( )个非叶结点。 An Bn+1 Cn-1 D2n 23一棵 结点数31nnext=p-next; (p-next)-prior=q;然后再用语句q-prior=p;和语句_ p-next=q;_。 8在双向链表中,要在p所指的结后插入q所指的结点(设q所指的结点已赋值),其中所用的一条语句(p-next)-prior=q; 的功能是使P所指结点的_直接前驱的左指针_指向q 。 9在一个单向链表中,要删除p所指结点的直接后继结点。则可以用操作 _ p-next=p-next-next;_。(用一

8、条语句) 10设有一个带头结点的,头指针为head的单向链表,p指向表中某一个结点,且有p-next= =NULL,现要删除头结点,并使该单向链表构造成单向循环链表,通过操作head=head-next; _ p-next= head;_。 11向一个栈顶指针为top的链栈中插入一个p所指结点时,可执行_ p-next=top; top=p;操作。( 填两条语句, 结点的指针域为next) 12从一个栈顶指针为top的链栈中删除一个结点时,用d保存被删结点的值,可执行_ d=top-data;top=top-next;_。(结点的指针域为next,数据域为data) 13在一个带头结点的链队中

9、,设front和rear分别为队头和队尾指针,则删除一个结点 的操作为 p=front-next;_ front-next_=p-next;(结点的指针域为next, p为辅助用指针) 14.循环链队列中,设front和rear分别为队头和队尾指针,(最多元素为MaxSize,采用少用一 个元素的模式),判断循环链队列为满的条件为_ front= =(rear+1)% MaxSize_ 。15设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,最 后一个元素的下标为27,则n=_ 7_。(矩阵中的第1个元素是a1,1 ) 16对稀疏矩阵进行压缩存储,可采用三元组表,一个6

10、行7列的稀疏矩阵A相应的三元组 表共有8个元素,则矩阵A共有_ 34_个零元素。17. 一棵3度的树,其中3度结1个,2度结2个,1度结2个,则该树共有_ 5_个 叶结点。 18.一棵有8个权重值构造的哈夫曼数,共有 15 个结点。 19一棵有7个叶结点的二叉树,其1度结点数的个数为2,则该树共有 15_个结点 20一棵有18个结点的二叉树,其2度结点数的个数为8,则该树共有_ 1_个1度结点 21如图3所示的二叉树,其中序遍历序列为_ 512389746_。 图322如图4所示的二叉树,其先序遍历序列为_ 215347896_。 图423二叉排序树或者是一棵空树,或者是一棵具有下列性质的二叉

11、排:若它的左子树非空,则左子树的所有结点的值都小于它的根结点的值;若它的右子树非空,则右子的所有结点的值都大于(若允许结点有相同的值,则大于等于)它的根结点的值。这种说法是_不正确_的。(回答正确或不正确) 24在查找表中,通过记录的某关键字能唯一地确定一个记录,该关键字称为_主关键字_。 三、综合题1 (1) 以3,4,5,8,9,10作为叶结点的权,构造一棵哈夫曼树。 (2) 给出相应权重值叶结点的哈夫曼编码。 (3) 一棵哈夫曼树有2n-1个结点,它是共有多少个权重值构造而成的?简述理由?1(1)1098791293543933171552218 图7 (2) 3 0000 4 0001

12、 5 001 10 01 8 10 9 11 (3)n个,因为非叶结点数比叶结点数少一个,而权值个数=叶结点数2(1)对给定权值3,1 ,4,4,5,6,构造深度为5的哈夫曼树。(设根为第1层) (2) 求树的带权路径长度。(3)存储上述哈夫曼树,结点中共有多少个指针域为空,说明理由.2. (1)65435423418145197896434531213 图8(2) WPL=3*4+1*4+4*3+6*2+4*2+5*2=58(3) 共11个结点,22个指针域,除根结点外,每个结点对应一个指针域.,共10个指针域非空,故 有 22-10=12个空指针域, 3(1)简述拓扑排序的步骤。 (2)说

13、明有向图的拓扑序列不一定是唯一的原因。 (3)如何利用拓扑排序算法判定图是否存在回路。 (4)设有向图G如下,写出首先删除顶点1的3种拓扑序列。 图53. (1) 循环执行以下两步 选择一个度为0的顶点并输出 从网中删除此结点及所有出边 (2) 因为选择一个度为0的顶点时不一定是唯一的 (3) 由顶点活动网构造拓扑序列的过程中,输出结点后,余下的结点均有前驱 (4) 152364 152634 1562344. (1) 如下的一棵树,给出先序遍历序列 (2) 把1,2,3,4,5,6,7,8,9填人,使它成为一棵二叉排序树 提示:设图中的树是二叉排序树,找出中序遍历序列与 1,2,9的对应关系

14、 (3) 请在该树中再插入一个结点3.5作为叶结点,并使它仍然是一棵二叉排序树。 图64 .(1) A1 A2 A4 A7 A8 A5 A9 A3 A6 (2) (3) 图95设有序表为(21,22,23,24,25,26,27,28,29,30,31,32),元素的下标从 0开始。 (1)说出有哪几个元素需要经过4次元素间的比较才能成功查到。(2)画出对上述有序表进行折半查找所对应的判定树(树结点用数值表示)(3)设查找元素为5,需要进行多少次元素间的比较才能确定不能查到。 (4)求在等概率条件下,成功查找的平均比较次数?5.243142717322281825152211231210100

15、0000302026162322132919(1) 5(2) 图10(3) 3 (4) ASL=(1+2*2+3*4+5*4)/12=37/126设查找表为(5,6,7,8,9,10,11,12,13,14) (1)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点) (2) 给出二叉排序树的定义,针对上述折半查找所对应的判定树的构造过程,说明判定树 是否是二叉排序树(设树中没有相同结点)?(3) 为了查找元素5.5,经过多少次元素间的比较才能确定不能查到?6.(1) 图10(2) 二叉排序树或者是一棵空树,或者是一棵具有下列性质的二叉排:若它的左子树 非空,则左子树的所有结

16、点的值都小于它的根结点的值;若它的右子树非空,则右子 树的所有结点的值都大于(若允许结点有相同的值,则大于等于)它的根结点的值; 左,右子树也是一棵二叉排序树,按定义判定树是二叉排序树。 (3) 3次四、程序填空题1以下程序是快速排序的算法 设待序的记录序列存放在astart,aend中,按记录的关键字进行快速排序, 先进行一次划分,再分别进行递归调用 void quicksort ( NODE a , int start ,int end ) int i,j; NODE mid ; if (start=end ) return; i=start; j=end; mid=ai; while (

17、ij) while(imid.key) j- -; if(ij) ai=aj; _(1) i+; _; while(ij & ai.key=mid.key) _(2) i +;_; if(ij) _(3) aj=ai; _ _(4)_ j-;_ ai=mid; quicksort (a,stat, i-1); quicksort _(5) (a, i+1,end);_ 2以下函数为直接选择排序算法,对a1,a2,an中的记录进行直接选择排序,完成程序中的空格typedef struct int key;NODE; void selsort(NODE a,int n) int i,j,k; NO

18、DE temp; for(i=1;i= _(1)_ n-1_;i+) k=i; for(j=i+1;j= _(2)_ n _;j+) if(aj.keydata=x; p-next=NULL; _(2)_ rear-next=p _; rear= _(3)_ p _; 4 .设有一个头指针为head的不带头结点单向链表, 且p、q是指向链表中结点类型的指针变量,p指向链表中某结点a(设链表中没有结点的数据域与结点a的数据域相同), 写出相关语句 (1).使该单向链表成为单向循环链表 (2) 删去a结点 q=p; x=p-data;while (q-next!=NULL)q=q-next; (1

19、) _(1)_ q-next=head;_ q=p; p=p-next;while(p-data!=x) q=p;(1) _(2)_ p=p-next;_(3) q-next=p-next;_期末综合练习二一、单项选择题1. 数据结构在计算机存中的表示是指 ( ) 。 A数据元素之间的关系 B数据的存储结构 C数据元素的类型 D数据的逻辑结构 2 .结构中的元素之间存在一对多的关系是( )。 A集合 B线性结构 C树形结构 D图状结构 3 . 结构中的元素之间存在多对多的关系是( )。 A集合 B线性结构 C树形结构 D图状结构 4.对不带头结点的单向链表,判断是否为空的条件是( )(设头指针

20、为head)。Ahead=NULL Bhead-next= =NULL Chead-next= =head Dhead =NULL 5 . 设有一个长度为20的顺序表,要在第5个元素之前插入1个元素(也就是插入元素作为新表的第5个元素),则移动元素个数为( )。 A15 B16 C. 5 D4 6. 在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,可用的语句是( )。 Ap=q-next; p=p-next; Bp-next=q ; p=p-next; Cp-next=q-next;q=p; Dp=p-next; q-next=p; 7在一个尾指针为r

21、ear的不带头结点的单循环链表中,插入一个s所指的结点,并作为第一个结点,可执行( )。 Arear next= s; s next=rear next Brear next=s next; Crear=s next Ds next=rear next ; rear next=s;8一个栈的进栈序列是1,2,3,4,5,则栈的不可能输出序列是( )(进栈出栈可以交替进行)。A12345 B43512 C45321 D54321 9元素a,b,c,d按顺序依次进栈,则该栈的可能输出序列是( )(进栈出栈可以交替进行)。 Ac,a,b,d Bd,b,c,a Ca,c,b,d Dd,c,a,b 10

22、一个队列的入队序列是2,4,6,8,按该队列的输出序列使各元素依次入栈,该栈的可能输出序列是 ( )。 A8,6,4,2 B6,2,4,8 C8,4,2,6 D8,2,4,6 11从一个栈顶指针为top的链栈中取栈顶元素,用变量x保存该元素的值,则执行( )。 Ax=top-data; top=top next; Bx=top-data; Ctop=top-next; x=top-data; Dtop=top-next; x=data; 12在一个链队中,假设f和r分别为队头和队尾指针,已生成一个结点p,要为结点p赋 值x,并入队的运算为( )。 A . p-data=x; p-next=NULL; f-next=p; f=p; B p-data=x; p-next=NULL ;r-next=p;r=p; C p-data=x; p-next=r;r=s; D p-data=x; p-next=f;f=s; 13设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是( )阶的对称矩阵。 (矩阵中的第1个元素是a1,1 )A5 B20 C10 D15 14设有一个25阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a7,6在一维数组

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

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