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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、数据结构本期末综合练习数据结构期末综合练习2013年12月期末综合练习一一、单项选择题1. 数据结构在计算机内存中的表示是指 ( ) 。 A数据元素之间的关系 B数据的存储结构 C数据元素的类型 D数据的逻辑结构 2 .结构中的元素之间存在一对多的关系是( )。 A集合 B线性结构 C树形结构 D图状结构 3 .对不带头结点的单向链表,判断是否为空的条件是( )(设头指针为head)。Ahead=NULL Bhead-next= =NULL Chead-next= =head Dhead =NULL 4. 设有一个长度为20的顺序表,要在第5个元素之前插入1个元素(也就是插入元素作为新表的第5

2、个元素),则移动元素个数为( )。 A15 B16 C. 5 D4 5. 在一个不带头结点的单循环链表中,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; 6在一个尾指针为rear的不带头结点的单循环链表中,插入一个s所指的结点,并作为第一个结点,可执行( )。 Arearnext= s; snext=rearnext Brearnext=snext; Crear=snext Dsnext=rear

3、next ; rearnext=s;7一个栈的进栈序列是1,2,3,4,5,则栈的不可能输出序列是( )(进栈出栈可以交替进行)。A12345 B43512 C45321 D54321 8元素a,b,c,d按顺序依次进栈,则该栈的可能输出序列是( )(进栈出栈可以交替进行)。 Ac,a,b,d Bd,b,c,a Ca,c,b,d Dd,c,a,b 9一个队列的入队序列是2,4,6,8,按该队列的输出序列使各元素依次入栈,该栈的可能输出序列是 ( )。 A8,6,4,2 B6,2,4,8 C8,4,2,6 D8,2,4,6 10从一个栈顶指针为top的链栈中取栈顶元素,用变量x保存该元素的值,则

4、执行( )。 Ax=top-data; top=topnext; Bx=top-data; Ctop=top-next; x=top-data; Dtop=top-next; x=data; 11在一个链队中,假设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; 12设有一个对称矩阵A,采用压

5、缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是( )阶的对称矩阵。 (矩阵中的第1个元素是a1,1 )A5 B20 C10 D15 13设有一个25阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a7,6在一维数组B中的下标是( )。 (矩阵中的第1个元素是a1,1 )A34 B14 C26 D27 14设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第53号元素对应于矩阵中的元素是( )。

6、(矩阵中的第1个元素是a1,1 )Aa8,5 , Ba10,8 Ca8,1, Da7,6 15.以下程序段的结果是 c的值为( )。char a8= “”, int *p=a, int c=0; while(*p+)c+; A8, B7 C10 D12 16.以下程序段的结果是 c的值为( )。char * a5=“12378”, “1237”, “”, “1237”, “”;int i,c=0; for(i=0;iprior)-next=p-next;然 再用语句_。 7在双向链表中,要删除p所指的结点,其中所用的一条语句(p-prior)-next=p-next; 的功能是:使P所指结点的

7、直接前驱的右指针指向_。8在一个单向链表中p所指结点之后插入一个s所指向的结点时,应执行s-next=p-next; 和 _ _的操作. 9设有一个头指针为head的单向链表,p指向链表中的某结点,若要使该链表成为单向 循环链表,可用语句while(p-next!= NULL) p= p-next; 和_ _。 10一个栈和一个队列的输入序列都为abcdefg,它们可能有相同的输出序列吗?_。 (若没有则回答没有,若有则写出序列,进栈出栈可以交替进行)。11向一个栈顶指针为top的链栈中插入一个p所指结点时,某人用语句top=p;p-next=top; 这样做的结果使p所指向的结点的指针域指向

8、了 _。 12.从一个栈顶指针为top的链栈中取栈顶元素,用d保存栈顶元素的值,可执行_。(结点的数据域为data) 13在一个链队中,设front和rear分别为队头和队尾指针,则s所指结点(数据域已赋值)的入队操作为s-next=NULL;._和rear=s; 14. 循环链队列中,设front和rear分别为队头和队尾指针,(最多元素为MaxSize,),判断循环链队列为空的条件是_为真 。15设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素s26相应于A中的元素为_。(矩阵中的第1个元素是a1,1 ) 16. 对稀疏矩阵进行压缩存储,可采用三元组表,设a是

9、稀疏矩阵A相应的三元组表类型(结构体类型)变量,a中的一个成员项是三元组类型的结构体数组data,按书中定义,若a.data0.i=2;a.data0.j=3; a.data0.v=16; 它提供的 A数组的相关信息有_17对稀疏矩阵进行压缩存储,可采用三元组表,设a是稀疏矩阵A相应的三元组表类型(结构体类型)变量,a中的一个成员项是三元组类型的结构体数组data,按书中定义,若data的下标从零开始,最后一个元素下标为10,又a.data10.i=8;a.data10.j=5; a.data10.v=36; 它提供的 A矩阵的相关信息有_。 18设有一棵深度为5的完全二叉树,该树共有20个结

10、点,第五层上有 个叶结点。 (根所在结点为第1层) 19设有一棵有78个结点的完全二叉树,该树共有_层。(根所在结点为第1层)20_ _树可得到一个有序序列。 21对于一棵具有_个结点的二叉树,其相应的链式存储结构中共有n+1个指针域空. 22如图4所示的二叉树,其后序遍历序列为_。 图423如图5所示的二叉树,其中序遍历序列为_。 图5 24 .给定一组权重值,构造哈夫曼树,哈夫曼树的高度一定是唯一的,这种说法是_的。(回答正确或不正确) 三、综合题1(1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,试画出该二叉树。 (2)若上述二叉树的各个结点的字符分别代表不同的整数

11、(其中没有相等的),并恰好使该树成为一棵二叉排序树,试给出a、b、c、d、e的大小关系。 (3)给出该树的前序遍历序列。2. (1) 说明什么是顶点活动网(AOV网)和拓扑序列 (2)设有向图G如下,写出3种拓扑序列, (3)在图G中增加一条边,使图G仅有一条拓扑序列图63(1)利用筛选过程把序列42,82,67,102,16,32,57,52建成堆(小根堆),画出相应的完全二叉树(不要求中间过程)。(2)写出对上述堆对应的完全二叉树进行中序遍历得到的序列。4如下是一棵二叉排序树,A1,A2,A9代表1,2,3,9中各个不同数字, (1)给出对该树中序遍历的结果 (2) A3,A5,A7的值各

12、为多少? (3)请在该树中再插入一个结点9 .5作为叶结点,并使它仍然是一棵二叉排序树 图75设查找表为(11,12,13,14,15,16,17,18,19,20,21) ,元素的下标从0开始。 (1)画出对上述查找表进行折半查找所对应的判定树(树中结点用数值表示)(2)说明成功查找到元素15,19各需要经过多少次比较?(3)说明查找不到元素10,15.5各需要经过多少次比较?(4)給出中序遍历判定树的序列。6(1) 设有查找表17,26,14,16,15,30,18,19,28,依次取表中数据构造一棵二叉 排序树.(2) 对上述二叉树给出后序遍历的结果(3). 对上述二叉树给出中后序遍历的

13、结果 (4) 在上述二叉树中查找元素15共要进行多少次元素的比较?四、程序填空题1 . 以下程序是折半插入排序的算法 设待排序的记录序列存放在a1,an中,以a0作为辅助工作单元,以下程序是要把ai 插入到已经有序的序列a1,ai-1中。 void binsort (NODE a ,int n) int x,i,j,s,k,m; for (i=2;i=_(1)_;i+) a0=ai; x= ai.key; s=1; j=i-1; while (s=j) m=_(2)_ if( x=j+1;k- -) _(5)_=ak; aj+1=a0; 2以下函数是二叉排序树的查找算法,若二叉树为空,则返回根

14、结点的指针,否则,返回值是指向树结点的结构指针p(查找成功p指向查到的树结点,不成功p指向为NULL)完成程序中的空格typedef struct Bnode int key;struct Bnode *left;struct Bnode *right; Bnode; Bnode *BSearch(Bnode *bt, int k) /* bt用于接收二叉排序树的根结点的指针,k用以接收要查找的关键字*/ Bnode *p; if(bt= _(1)_) return (bt); p=bt; while(p-key!= _(2)_) if(kkey) _(3)_; else _(4)_; if(

15、p=NULL) break; return(_(5)_); 3以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针struct node ElemType data;struct node *next;struct node *top ;void Push(ElemType x) struct node *p; p=(struct node*)malloc(_(1)_); p-data=x; _(2)_; _(3)_; 4 .设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中结点a, (设链表中没有结点的数据域与结点a的数据域相同)

16、,写出相关语句 (1).使该单向链表成为单向循环链表 (2)插入结点s,使它成为a结点的直接前驱 q=p; x=p-data; while (_(1)_ )q=q-next; q-next=head;q=p; p=p-next;while(p-data!=x) q=p;_(2)_s-next=p;_(3)_期末综合练习一答案一、单项选择题1B 2C 3A 4 B 5D 6D 7B 8C 9A 10B 11B 12C 13D 14B 15B 16A 17A 18A 19A 20D 21C 22D 23D 24C 25C 26A 27B 28A 29B二、填空题1多个数据项2图状结构3多对多415

17、5226(p-next)-prior=p-prior;7P所指结点的直接后继8 p-next=s;9p-next=head;10abcdefg11p本身12d=top-data;13rear-next=s;14front= =rear15a7,616A的第一个非零元素的下标为2,3 ,元素为16 17A共有11个非零元素 ,a8,5为36 18519720中序遍历21n222324不正确三、综合应用题1(1) 图8(2)dbealeft(4)p=p-right(5)p3 (1)sizeof (struct node)(2)p-next=top(3)top=p4.(1) q-next!=NULL

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

19、点 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

20、; 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为待进栈的结点,则执行( )。

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

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

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