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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构本期末综合练习文档格式.docx

1、 x=fdata 12算法的时间复杂度与( )有关。 A所使用的计算机 B与计算机的操作系统 C与算法本身 D与数据结构13设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第38号元素对应于矩阵中的元素是( )。 Aa10,8 Ba7,6 Ca9,2 Da8,5 14设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为( )。 An-i+1 Bn-i Cn-i-1 Di 15在C语言中,分别存储 “S”和s,各需要占用( )字节。 A一个和两个 B两个 C一个 D两个和一个 16在一个单链表中,p、q分别指向表中

2、两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用的语句是( )。 Ap=q-next Bp-next=q Cp-next=qnext Dq-next=NULL17一棵有n个结点,采用链式存储的二叉树中,共有( )个指针域被有效使用(即指针域为非空)。 An+1 Bn Cn-1 Dn-2 18从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。 Ax=top-data; top=top-next; Bx=top- Ctop=top- x=top- Dtop=top- x=data;19在一棵二叉树中,若编号为i的结点存在双亲结点,则双

3、亲结点的顺序编号为( )。 Ai/2.0 Bi/2向下取整 C2i+1 Di+2 20在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为( )。 Ar=f- Br=r- Cf=f- Df=r-21设一棵哈夫曼树共有2n+1个结点,则该树有( )个非叶结点。 An Bn+1 Cn-1 D2n 22一个栈的进栈序列是a,b,c,d,e,则栈的不可能输出序列是( )(进栈出栈可以交替进行)。Adceab Bedcba Cdecba Dabcde 23一棵完全二叉树共有4层,且第4层上有2个结点,该树共有( )个非叶子结点(根为第一层)。 A5 B4 C3 D9 24有一个长度为10

4、的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。A26/10 B29/10 C29/9 D31/1025如图1所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 Aabedfc Bacfebd Caebcdf Daebcfd 图126排序算法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是( )。 A冒泡 B直接插入 C折半插入 D选择排序27一组记录的关键字序列为(56,30,89,66,48,50,94,87,100),利用快速排序

5、,以第一个关键字为分割元素,经过一次划分后结果为( )。 A30,50,48,56,66,89,94,100,87 B 50,30,48,56,66,89,94,87,100 C48,30,50,56,66,89,94,87,100 D50,30,48,66,56,89,94,87,100 28设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到一维数组B中(数组下标从1开始),则矩阵中元素A8,5在一维数组B中的下标是( )。A33 B32 C85 D4129线性表以( )方式存储,能进行折半查找。 A关键字有序的链接 B顺序 C关键字有序的顺序 D数组 C多对多

6、D每一个元素都有一个直接前驱和一个直接后继 30在一个无向图中,所有顶点的度数之和等于边数的( )倍。 A3 B2.5 C1.5 D2二、填空题1. 数据的逻辑结构在计算机中的表示称为_结构。2栈和队列的操作特点分别是_ _和 _ _。3. 求两个n阶矩阵的乘积,算法的基本操作为_,时间复杂度为 _。4结构中的数据元素存在多对多的关系称为_ _结构。5 设有一个长度为25的顺序表,第8号元素到第25号元素依次存放的值为8,9,10,11,25, 某人想要在第8个元素前插入1个元素7(也就是插入元素作为新表的第8个元素),他 的做法是从第8号元素开始,直到第25号元素依次向后移动1个位置,然后把

7、7存放在 8号位置,其结果是新表中第25号元素的值为_ 。6根据数据元素间关系的不同特性,通常可分为集合、线性、 、 四类基本结构。7在双向链表中,要在p所指的结后插入q所指的结点(设q所指的结点已赋值),其中所用的一条语句(p-next)-prior=q; 的功能是使P所指结点的_指向q 。8要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为_和 _ 。9设有一个带头结点的,头指针为head的单向链表,p指向表中某一个结点,且有p-next= =NULL,现要删除头结点,并使该单向链表构造成单向循环链表,通过操作head=head- _。1

8、0在一个单向链表中p所指结点之后插入一个s所指向的结点时,应执行_ _ _和p-next=s;的操作。11从一个栈顶指针为top的链栈中删除一个结点时,用d保存被删结点的值,可执行_。(结点的指针域为next,数据域为data) 12在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是值域 、 。13 循环链队列中,设front和rear分别为队头和队尾指针,(最多元素为MaxSize,采用少用一 个元素的模式),判断循环链队列为满的条件为_ 。14一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左、右孩子编号分别为_、_。15对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的

9、稀疏矩阵A相应的三元组 表共有8个元素,则矩阵A共有_个零元素。16向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s-next=h;和_。17.一棵有20个结点的4度的树,其中3度结1个,2度结1个,1度结2个,则该树共有 _个叶结点。18在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为_和r=s; (结点的指针域为next)19一棵有18个结点的二叉树,其2度结点数的个数为8,则该树共有 _个1度结点 20设有一棵深度为4的完全二叉树,第四层上有5个结点,该树共有_个结点。(根所在结点为第1层)21如图2所示的二叉树,其先序遍历序列为_。 图222对稀疏矩阵进行压

10、缩存储,矩阵中每个非零元素对应的三元组包括该元素的_、_ _和_ _三项信息。23在查找表中,通过记录的某关键字能唯一地确定一个记录,该关键字称为_。24在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插入到有序表时,为寻找插入位置需比较_次。三、综合题 1(1)对给定权值3,1 ,4,4,5,6,构造深度为5的哈夫曼树。(设根为第1层) (2) 求树的带权路径长度。(3)链接存储上述哈夫曼树,结点中共有多少个个指针域为空,说明理由.2 (1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树( 要求每个结点的左子树根结点的权小于

11、等于右子树根结点的权),给出相应权重值叶结点的哈夫曼编码。(2) 一棵哈夫曼树有n个叶结点,它一共有多少个结点?简述理由?3. (1) 如下的一棵树,给出先序遍历序列 (2) 把1,2,3,4,5,6,7,8,9填人,使它成为一棵二叉排序树 提示:设图中的树是二叉排序树,找出中序遍历序列与 1,2,9的对应关系 (3) 请在该树中再插入一个结点3.5作为叶结点,并使它仍然是一棵二叉排序树。 图34一组记录的关键字序列为(46,79,56,38,40,84)(1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换元素的过程,要求以升序排列)(2)对上述序列用堆排序的方法建

12、立大根堆,要求以二叉树逐次描述建堆过程。5设查找表为(5,6,7,8,9,10,11,12,13,14) (1)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点) (2) 给出二叉排序树的定义,针对上述折半查找所对应的判定树的构造过程,说明判定树 是否是二叉排序树(设树中没有相同结点)?(3) 为了查找元素5.5,经过多少次元素间的比较才能确定不能查到?6设查找表为(50,60,75,85,96,98,105,110,120,130) (1) 说出进行折半查找成功查找到元素120需要进行多少次元素间的比较?(2) 为了折半查找元素95,经过多少次元素间的比较才能确定不能查到

13、?(3)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点)四、程序填空题1以下函数为直接选择排序算法,对a1,a2,an中的记录进行直接选择排序,完成程序中的空格typedef struct int key;NODE; void selsort(NODE a,int n) int i,j,k; NODE temp; for(i=1;i= _(1)_;i+) k=i; for(j=i+1;j= _(2)_;j+) if(aj.keyak.key) _(3)_; if(i!=k) temp=ai; _(4)_; _(5)_; 2以下是用尾插法建立带头结点且有n个结点的单向链表的

14、程序,结点中的数据域从前向后依次为1,2,3,n,完成程序中空格部分。NODE *create(n)NODE *head , *p, *q; int i; p=(NODE*)malloc(sizeof(NODE);head= (1) ; (2) ;pnext=NULL; /*建立头结点*/for(i=1; iwhile (q-next!=NULL)q=q- _(1)_ q=p; p=p-while(p-data!=x) q=p;_(2)_(3)_ 4以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结

15、点)。void Inorder (struct BTreeNode *BT) if(BT!=NULL) (1) ; (3) ;期末复习一答案1C 2B 3A 4C 5A 6D 7C 8A 9D 10D 11C 12C 13C 14B 15D 16C 17C 18A 19B 20C 21A 22A 23B 24B 25C 26C 27B 28A 29C 30D1物理(存储)2后进先出、先进先出3乘法 O(n3) 4图状 (网状)586树形 图状 7 直接前驱的左指针 8n-1,O(n) 、9 p-next= head;10s-next=p-11d=top-top=top-12左指针 右指针13f

16、ront= =(rear+1)% MaxSize142i 2i+1153416h=s;1713 18r-1912012 2121534789622行下标、列下标、非零元素值23主关键字243三、综合应用题1. (1) 图4(2) WPL=3*4+1*4+4*3+6*2+4*2+5*2=58(3) 共11个结点,22个指针域,除根结点外,每个结点对应一个指针域.,共10个指针域非空,故 有 22-10=12个空指针域, (1)图5 2:11103: 11114:1107:008:019:10(2)2n-1个,因为非叶结点数比叶结点数少一个。3 .(1) A1 A2 A4 A7 A8 A5 A9

17、A3 A6 (2) (3) 图64(1)初始序列 46,79,56,38,40,8440,79,56,38,40,8440,79,56,38,79,8440,38,56,38,79,8440,38,56,56,79,8440,38,46,56,79,84(2)图65.(1) 图7(2) 二叉排序树或者是一棵空树,或者是一棵具有下列性质的二叉排:若它的左子树 非空,则左子树的所有结点的值都小于它的根结点的值;若它的右子树非空,则右子 树的所有结点的值都大于(若允许结点有相同的值,则大于等于)它的根结点的值; 左,右子树也是一棵二叉排序树,按定义判定树是二叉排序树。 (3) 3次6 (1)3次 (

18、2)4次图8 1(1)n-1(2)n(3)k=j(4)ai=ak(5)ak=temp2 (1)p(2)q=p(3)(NODE*)malloc(sizeof(NODE)(4)p(5)q=p3.(1) q-next=head;(2) p=p-(3) q-4 (1)Inorder(BT-left)(2)printf(“%c”,BT-data)(3) Inorder(BT-right)期末练习二1 .结构中的元素之间存在一对多的关系是( )。 A集合 B线性结构 C树形结构 D图状结构 2在C语言中,顺序存储长度为3的字符串,需要占用( )个字节。 A4 B3 C6 D123 .对不带头结点的单向链表

19、,判断是否为空的条件是( )(设头指针为head)。Ahead=NULL Bhead-next= =NULL Chead-next= =head Dhead =NULL 4串函数StrCat(a,b)的功能是进行串( )。 A比较 B复制 C赋值 D连接5. 在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,可用的语句是( )。 Ap=q- Bp-next=q ; Cp-next=q- Dp=p- q-next=p;6一棵有n个结点采用链式存储的二叉树中,共有( )个指针域为空。 An+1 Bn Cn-1 Dn-27一个栈的进栈序列是1,2,3,4,5,

20、则栈的不可能输出序列是( )(进栈出栈可以交替进行)。A12345 B43512 C45321 D54321 8设一棵哈夫曼树共有n个非叶结点,则该树有( )个叶结点。 An Bn+1 Cn-1 D2n9一个队列的入队序列是2,4,6,8,按该队列的输出序列使各元素依次入栈,该栈的可能输出序列是 ( )。 A8,6,4,2 B6,2,4,8 C8,4,2,6 D8,2,4,6 10从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。 Ax=top- top=topnext; Bx=top- Dtop=top-11在一个链队中,假设f和r分别为队头和队尾指针,已

21、生成一个结点p,要为结点p赋 值x,并入队的运算为( )。 A . p-data=x; p-next=NULL; f- f=p;B p-next=NULL ;r-r=p; C p-next=r;r=s; D p-next=f;f=s;12一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。 A30 B20 C21 D2313设有一个25阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a7,6在一维数组B中的下标是( )。A34 B14 C26 D27 14在一个无向图中,所有顶点的度数之和等于边数的( )倍。 A

22、3 B2.5 C1.5 D215.以下程序段的结果是 c的值为( )。char a5= “1236789”, int *p=a, int c=0; while(*p+)c+; A8, B7 C10 D12 16已知如图1所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 AV1V2V4V8V5V3V6V7 BV1V2V4V5V8V3V6V7CV1V2V4V8V3V5V6V7 DV1V3V6V7V2V4V5V8 图117一棵有23个结点,采用链式存储的二叉树中,共有( )个指针域为空。 A24 B25 C23 D45 18已知如图2所示的一个图,若从顶点

23、a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 Aabcedf Babcefd Caebcfd Dacfdeb19在一棵二叉树中,若编号为i的结点是其双亲结点的左孩子,则双亲结点的顺序编号为( )。 Ai/2 B2i-1 C2i+1 Di/2 -1 20对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。 A按层次 B后序 C中序 D前序21设一棵哈夫曼树共有2n+1个叶结点,则该树有( )个叶结点。 An-1 Bn Cn+1 D2n 22在有序表2,4,7,14,34,43,47,64,75,80,90,97,120中,用折半查找法查找值80时,经( )次比较后查找成功。A4 B2 C3 D523已知如图3所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能

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

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